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. Работал над задачей: 1) Переписал вышеуказанный патч. 2) Начал работать над подготовкой инфраструктуры для более удобного последующего использования в коде переустановки соединения + SMB2. Работал над подготовкой инфраструктуры. (В ответ на comment #1) > Создал патч, исправляющий вышеуказанную ошибку > https://bugzilla.samba.org/show_bug.cgi?id=8764. Поправил, протестировал и отправил вторую версию патча в рассылку. (В ответ на comment #4) > (В ответ на comment #1) > > Создал патч, исправляющий вышеуказанную ошибку > > https://bugzilla.samba.org/show_bug.cgi?id=8764. > Поправил, протестировал и отправил вторую версию патча в рассылку. Исправил комментарий, добавил тэги и отправил итоговую версию патча в рассылку. Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал и отправил. (В ответ на comment #6) > Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал > и отправил. Нашёл ещё одну неточность. Исправил. (В ответ на comment #7) > (В ответ на comment #6) > > Исправил ошибку в lock патчах. Добавил более подробное описание, протестировал > > и отправил. > > Нашёл ещё одну неточность. Исправил. Поправил один из патчей. Второй получил Acked-by. Остальные три решено было отложить до перехода кода на новую инфраструктуру выбора протоколо-зависимых вызовов. Работал над поддержкой файловых блокировок протоколом SMB2. Выяснил, что в этой версии протокола сервер ассоциирует блокировку только с файловым идентификатором, а проверка конфликтов между разными процессами, использующими один и тот же файловый дескриптор, ложится на плечи клиента. Добавил к существующему коду функционал отправки блокировок порциями в случае сброса оплока. Отправил в рассылку. Работал над проблемой операций чтения/записи несколькими процессами с одним файловым дескриптором при наличии файловых блокировок - текущая реализация не проверяет конфликтующие блокировки локально. Разработал вариант решения. Тестировал. Далее планирую провести более масштабное тестирование. Тестировал и подготавливал патчи. Тестировал, подготавливал патчи - отослал в рассылку. Исправил проблему deadlock'а в патчах, протестировал, отправил в рассылку. Релизовал восстановление блокировок после разрыва соединения. Обнаружил и исправил ошибку в коде установки блокировок в случае наличия препятствующей блокировки. Исправил ошибку записи после установки блокировки на чтение в случае наличия оплока на чтение. Рабочая ветка for-next. Тестировал патчи. Подготовил и отправил патчи. Патчи получили review. Продолжил работать над проблемой целостности данных при использовании кэша блокировок и кэша данных. Работал над патчами, исправляющими вышеописанную проблему. Отправил в рассылку вторую версию серии. Общался с Стивом, тестировал пачти при использовании SMB2.0 протокола. Немного переосмыслил текущую реализацию последнего патча - обнаружил гонки за данными. Отправил новую версию патча в рассылку. Продолжил работу над патчами. Отправил новую версию в рассылку. Патчи приняты. Закрываю. |