[Devel] [Ошибка 4316] =?utf-8?b?INCg0LDQt9C+0LHRgNCw0YLRjNGB0Y8=?=, можно ли сделать блокировки advisory на CIFS

Evgeny Sinelnikov sin на etersoft.ru
Ср Окт 7 21:06:49 MSD 2009


7 октября 2009 г. 20:00 пользователь Vitaly Lipatov <lav на etersoft.ru> написал:
> Решил перейти сюда, чтобы в багу вписать только резюме. Хотя думаю, что надо
> уже на kb.etersoft.ru статью о CIFS<->SAMBA писать.

Кстати, я так и не получил ясного представления о том, что такое
kb.etersoft.ru, как он соотносится с wiki.etersoft.ru,
wiki.office.etersoft.ru?
Можно публиковать сюда новости о переходе на новые ресурсы?

> В сообщении от Вторник 06 октября 2009 Вы написали:
>> http://bugs.etersoft.ru/show_bug.cgi?id=4316
>> --- Comment #17 from Синельников Евгений <sin на etersoft.ru>  2009-10-06
>>  23:39:23 --- Резюмирую проблему.
>>
>> Для отключения сброса блокировок после
>> закрытия файла необходимо выставить
>> параметр шары:
>>  posix locking = false
> Странно, мне казалось это делали мы патчем на клиентской стороне, а потом
> отключили.

Кто делал? Что делал?
Была задача придумать как бы это так вот сделать... Для этого нужно
переписывать часть кода  cifs. Начав этот процесс в рамках #4316, я
пришёл к выводу, что результаты не очень... Там много мест, куда нужно
добавить костылей, чтобы оно наверное заработало и ещё не понятно нет
ли других подводных камней...

К тому же я пришёл к тому, что поскольку мы хотели от nounix решить
вопрос с блокировками при закрытии файла, то этот вопрос можно решить
проще.

>
> И потом, при чём тут этот параметр, если он значит
> "If yes, maps oplocks to POSIX locks on the local system."
> http://www.samba.org/samba/docs/using_samba/ch08.html
>

Ну, там написано одно, а по коду самбы явно видно, что этот флаг
отключает снятие блокировок после закрытия файла, правда, это не
единственное на что он влияет...

> О... Такой вопрос: а как взаимодействуют между собой в плане блокировок
> процессы samba?

Я не знаю... Это нужно детально разбираться с архитектурой самбы...

>> На текущий момент стоит монтировать с
>> параметром noperm,forcemand
>>
>> Связка noperm,forcemand,direct ведёт себя нестабильно
>> и, если где-то требуется, то эти случаи
>> прошу указать отдельно - будем лечить по
>> частям...
> Для начала нужно поднять историю, зачем вообще мы начали использовать параметр
> direct.
> Насколько я помню, он отключает использование OPLOCKS, которые глючно работали
> в некоторых случаях (при взаимодействии с Linux-клиентами).

Да, но, это direct, как минимум, вместе с forcemand отключает
нормальный запуск приложений на шаре, которая подключена с этими
параметрами:
[sin на server ~]$ sudo mount //server/upload /home/sin/upload -o
guest,noperm,forcemand,direct
[sin на server ~]$ cd upload/wine/
[sin на server wine]$ ./raw
bash: ./raw: не могу запустить бинарный файл
[sin на server wine]$ ls -l raw
-rwxr-xr-x 1 sin sin 7985 Сен 29 21:28 raw
[sin на server wine]$ pwd
/home/sin/upload/wine
[sin на server wine]$ mount | grep /home/sin/upload
//server/upload on /home/sin/upload type cifs (rw,mand)

> И также по поводу использования nounix - существует куча случаев, когда его
> использование необходимо (мне не нужны никакие серверные UID на клиенте).

Я полагаю, что для этого нужно переделать полдрайвера, и лучше сразу
выкинуть лишние делали... А то одно отваливается, то другое...

> Также остаются неясными вопросы взаимодействия Windows-клиентов и Linux-
> клиентов, не имеющих nounix - будет ли оно нормальным.

Давайте, действовать последовательно... Давайте заберёмся, в какой
рабочей конфигурации проводилось предрелизное тестирование
wine-1.0.11. У меня сложилось впечатление, что никто не может
запустить 1С 7.7, если так, то нужно найти эту конфигурацию (если она
вообще есть).

После этого можно будет наращивать функционал, меняя параметры по
одному, а не разом... Для нормального тестирования нужно уметь менять
отдельные  параметры на повторяемой среде, которая взята за эталон...


-- 
Sin (Sinelnikov Evgeny)


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