Что такое BJ_Shadow в контексте JBD2?
Я изучаю исходный код jbd2, и я не мог понять, что BJ_Shadow
флаг означает для данного buffer_head
,
Является BJ_Shadow
копия данного buffer_head
или что?
1 ответ
Решение
Когда буфер находится в BJ_Shadow
состояние, это означает, что существует копия этого буфера, записываемого на диск.
Итак, в основном, когда транзакция фиксируется, заголовок буфера (BH), который будет записан, находится в BJ_Metadata
состояние, и поток фиксации сделает копию этого BH для использования при отправке ввода-вывода. После того, как копия сделана, транзакция изменяет состояние ЧД на BJ_Shadow
и, наконец, последнее состояние после завершения ввода-вывода BJ_Forget
государство.