JBD2 上下文中的 BJ_Shadow 是什么?
What is BJ_Shadow in JBD2 context?
我正在研究 jbd2 源代码,我无法理解 BJ_Shadow
标志对于给定 buffer_head
的含义。
BJ_Shadow
是给定 buffer_head
的副本还是什么?
当一个缓冲区处于BJ_Shadow
状态时,表示有copy-out个缓冲区正在写入磁盘。
所以,基本上当事务提交时,要写入的缓冲区头(BH)处于BJ_Metadata
状态,提交线程将复制这个BH用于IO提交。复制完成后,事务将BH的状态变为BJ_Shadow
,最终IO完成后的最后一个状态为BJ_Forget
状态。
我正在研究 jbd2 源代码,我无法理解 BJ_Shadow
标志对于给定 buffer_head
的含义。
BJ_Shadow
是给定 buffer_head
的副本还是什么?
当一个缓冲区处于BJ_Shadow
状态时,表示有copy-out个缓冲区正在写入磁盘。
所以,基本上当事务提交时,要写入的缓冲区头(BH)处于BJ_Metadata
状态,提交线程将复制这个BH用于IO提交。复制完成后,事务将BH的状态变为BJ_Shadow
,最终IO完成后的最后一个状态为BJ_Forget
状态。