On 11/11/2015 06:22 PM, Dimitry Sibiryakov wrote:
> 11.11.2015 15:21, Alex Peshkoff wrote:
>> That flag means here 'page must be encrypted when written to the disk'.
>     Стоп, я опять не понимаю как это не работает.
>     Страница читается с диска с установленным флагом. Она расшифровывается, 
> но флаг
> остаётся установленным.
>     Если идёт процесс расшифровки, то условие (bool(page->pag_flags & 
> Ods::crypted_page) !=
> crypt) выполняется и она помечается как грязная.
>     При записи уже crypt == false и флаг должен просто сняться перед записью.
>
>     Почему это не работало и как присвоение никогда не используемого флага 
> исправило ситуацию?
>

Дим, ну там ведь всё написано вроде. В кеше страницы всегда 
расшифорваны. При записи на диск если флаг стоит страница будет 
зашифрована, если нет - не будет. До фикса страница на диск попадала с 
флагом, в кеше оставалась без флага. При расшифровке она читалась из 
кеша (если перед alter decrypt закрыть БД а потом снова открыть баг не 
наблюдается). Чего тут не ясно?


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to