Bug 8208

Summary: Восстановление файловых блокировок после переустановки соединения
Product: CIFS@Etersoft Reporter: Pavel Shilovsky <piastry>
Component: блокировки файлов и доступAssignee: Pavel Shilovsky <piastry>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P4 CC: lav, sin
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 7815    
Deadline: 2012-11-30   

Description Pavel Shilovsky 2012-02-22 13:10:15 MSK
Текущий код не восстанавливает состояние файловых блокировок после переустановки соединения. Так же есть такая ошибка: https://bugzilla.samba.org/show_bug.cgi?id=8764.
Comment 1 Pavel Shilovsky 2012-02-22 13:12:28 MSK
Создал патч, исправляющий вышеуказанную ошибку https://bugzilla.samba.org/show_bug.cgi?id=8764.
Comment 2 Pavel Shilovsky 2012-02-25 13:13:54 MSK
Работал над задачей:
1) Переписал вышеуказанный патч.
2) Начал работать над подготовкой инфраструктуры для более удобного последующего использования в коде переустановки соединения + SMB2.
Comment 3 Pavel Shilovsky 2012-02-28 21:35:48 MSK
Работал над подготовкой инфраструктуры.
Comment 4 Pavel Shilovsky 2012-03-03 11:52:39 MSK
(В ответ на comment #1)
> Создал патч, исправляющий вышеуказанную ошибку
> https://bugzilla.samba.org/show_bug.cgi?id=8764.
Поправил, протестировал и отправил вторую версию патча в рассылку.
Comment 5 Pavel Shilovsky 2012-03-05 10:47:04 MSK
(В ответ на comment #4)
> (В ответ на comment #1)
> > Создал патч, исправляющий вышеуказанную ошибку
> > https://bugzilla.samba.org/show_bug.cgi?id=8764.
> Поправил, протестировал и отправил вторую версию патча в рассылку.

Исправил комментарий, добавил тэги и отправил итоговую версию патча в рассылку.
Comment 6 Pavel Shilovsky 2012-03-27 15:56:26 MSK
Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал и отправил.
Comment 7 Pavel Shilovsky 2012-03-28 20:50:47 MSK
(В ответ на comment #6)
> Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал
> и отправил.

Нашёл ещё одну неточность. Исправил.
Comment 8 Pavel Shilovsky 2012-03-31 00:27:42 MSK
(В ответ на comment #7)
> (В ответ на comment #6)
> > Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал
> > и отправил.
> 
> Нашёл ещё одну неточность. Исправил.

Поправил один из патчей. Второй получил Acked-by. Остальные три решено было отложить до перехода кода на новую инфраструктуру выбора протоколо-зависимых вызовов.
Comment 9 Pavel Shilovsky 2012-08-29 18:52:56 MSK
Работал над поддержкой файловых блокировок протоколом SMB2. Выяснил, что в этой версии протокола сервер ассоциирует блокировку только с файловым идентификатором, а проверка конфликтов между разными процессами, использующими один и тот же файловый дескриптор, ложится на плечи клиента.

Добавил к существующему коду функционал отправки блокировок порциями в случае сброса оплока. Отправил в рассылку.
Comment 10 Pavel Shilovsky 2012-08-29 22:53:12 MSK
Работал над проблемой операций чтения/записи несколькими процессами с одним файловым дескриптором при наличии файловых блокировок - текущая реализация не проверяет конфликтующие блокировки локально.

Разработал вариант решения. Тестировал. Далее планирую провести более масштабное тестирование.
Comment 11 Pavel Shilovsky 2012-08-30 15:34:40 MSK
Тестировал и подготавливал патчи.
Comment 12 Pavel Shilovsky 2012-08-31 14:17:56 MSK
Тестировал, подготавливал патчи - отослал в рассылку.
Comment 13 Pavel Shilovsky 2012-09-10 16:32:15 MSK
Исправил проблему deadlock'а в патчах, протестировал, отправил в рассылку.
Comment 14 Pavel Shilovsky 2012-11-22 20:42:43 MSK
Релизовал восстановление блокировок после разрыва соединения. Обнаружил и исправил ошибку в коде установки блокировок в случае наличия препятствующей блокировки. Исправил ошибку записи после установки блокировки на чтение в случае наличия оплока на чтение. Рабочая ветка for-next.
Comment 15 Pavel Shilovsky 2012-11-26 23:21:15 MSK
Тестировал патчи.
Comment 16 Pavel Shilovsky 2012-11-27 11:07:16 MSK
Подготовил и отправил патчи.
Comment 17 Pavel Shilovsky 2012-11-27 18:57:59 MSK
Патчи получили review. Продолжил работать над проблемой целостности данных при использовании кэша блокировок и кэша данных.
Comment 18 Pavel Shilovsky 2012-11-28 18:28:37 MSK
Работал над патчами, исправляющими вышеописанную проблему. Отправил в рассылку вторую версию серии.
Comment 19 Pavel Shilovsky 2012-11-29 10:28:50 MSK
Общался с Стивом, тестировал пачти при использовании SMB2.0 протокола.
Comment 20 Pavel Shilovsky 2012-12-03 19:23:02 MSK
Немного переосмыслил текущую реализацию последнего патча - обнаружил гонки за данными. Отправил новую версию патча в рассылку.
Comment 21 Pavel Shilovsky 2012-12-06 22:52:13 MSK
Продолжил работу над патчами. Отправил новую версию в рассылку.
Comment 22 Pavel Shilovsky 2012-12-12 11:48:42 MSK
Патчи приняты. Закрываю.