[Devel] Рабочие параметры Samba для WINE шар

Pavel Shilovsky piastryyy на gmail.com
Пт Янв 28 00:19:13 MSK 2011


27 января 2011 г. 18:55 пользователь Vitaly Lipatov <lav на etersoft.ru> написал:
> В сообщении от Четверг 27 января 2011 Pavel Shilovsky написал(a):
> ...
>> При отсутствии 'level2 oplocks = no' в smb.conf правильной работы
>> гарантировать нельзя.
> А в чём причины, верно ли это для всех версий Самбы, как же раньше работало, и
> почему этим нельзя управлять на клиенте? Останется ли проблема актуальной для
> etercifs 5.0.0 (где можно будет жить без direct)?.
>

Отвечу на каждый вопрос подробно:

1) В чём причины?
- Самба может выдать оплок на чтение на заблокированный файл, что неверно.

2) Верно ли для всех версий Самбы?
- конкретно для всех не проверял, но на тех, что проверил (3.5.4,
3.5.6, 3.6.0pre1, 4.0.0alpha14), бага есть.

3) Как работало раньше?
- возможно несколько причин:
а) наличие включённых оплоков ядра (указание kernel oplocks в yes, что
используется по умолчанию, если нет такой записи в smb.conf), при
которых не работают оплоки на чтение - Самба их не выдаёт;
б) приложение не пробовали читать из потенциально заблокированных мест
без предварительной попытки установить блокировку самим, при этом
никаких проблем с упреждающим чтением и прочими фишками кеширования не
могло возникать, так как мы использовали direct.
Это лишь 2 причины, которые приходят в голову.

4) Почему нельзя управлять на клиенте?
- тут не совсем понял. Клиент следует спецификации (теперь следует в
режиме strictcache), сервер нет. Виноват сервер - с Windows сервером
полёт нормальный.

5) Останется ли проблема актуальной для etercifs 5.0.0?
- она станет ещё более актуальной, чем сейчас, так как клиент станет
полностью доверять серверу в предоставлении информации об оплоках и
действовать согласно этой информации: упреждающее чтение при оплоке на
чтение, асинхронная запись при оплоке на запись.

В итоге хочу сказать следующее: выключение оплоков на чтение для WINE
шар имеет для нас только положительную сторону на данный момент. Как
только в Самба исправят этот неприятный баг, можно будет включать
данную опцию. Если требуется кеширование файла в работе с WINE,
открытого на чтение несколькими клиентами (как случай для оплоков на
чтение), то сейчас это может нам позволить, гарантируя безошибочную
работу, только Windows сервер.

На данный момент следует прописать данное правило в нашей документации по WINE.

-- 
Best regards,
Pavel Shilovsky.


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