[Devel] Ускорение работы CIFS без direct

Pavel Shilovsky piastry на etersoft.ru
Чт Июл 15 23:10:54 MSD 2010


15 июля 2010 г. 20:49 пользователь Evgeny Sinelnikov <sin на etersoft.ru>написал:

> Здравствуйте,
>

Здравствуйте!


>
> Разбирая задачу #5442, "Протестировать сборку Etercifs 4.5.1", я
> вспомнил о проблеме препятствующей использовать параметр direct.
> http://bugs.etersoft.ru/show_bug.cgi?id=5442
>
> Суть текущей проверки, насколько я понял, в том, что в новых версиях
> Etercifs 4.5.X.Y предполагается отключить параметр монтирования
> direct. Со времени моей последней работы над etercifs я помню, что
> проблема отключения direct связана с особенностями постраничного
> (страницы в 4кб для x86) кеширования в VFS.
>
> Проблема возникает, когда нужно уметь читать страницы, в которых часть
> байт заблокировано и сервер отдаёт только не заблокированные. При этом
> VFS, рассчитывая на не вынужденные блокировки (Advisory), читает
> блоками невзирая на блокировки. Соответственно сервер, работая с
> вынужденными блокировками (Mandatory), не позволяет прочесть, если
> какая-та часть байт заблокирована.
>
> Найден ли обходной путь для решения этой проблемы?
>

Данная проблема решена проверкой на наличие блокировки в читаемом месте.
Если блокировки нет, то используется чтение из кеша, если же она валится в
EACCESS, то читается напрямую (есть ещё блокировка в каком-то другом месте.
Если же блокировка есть, то возвращается EACCESS.


>
> Со своей стороны, я полагаю, что без правки логики работы
> самба-сервера, решить эту проблему не получится. По крайней мере, пока
> я не знаю как это обойти.
>

Есть иная проблема, описанная тут
http://bugs.etersoft.ru/show_bug.cgi?id=4398#c5. Есть идея, после записи
страниц памяти в файл, посылать запрос на сервер о смене времени изменения
файла. Планирую попробовать реализовать и потестировать.

-- 
Best regards,
Pavel Shilovsky.
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.etersoft.ru/pipermail/devel/attachments/20100715/9d8b9ebf/attachment.html>


Подробная информация о списке рассылки Devel