checkpoint是为了提供一个一致的还原点,所以要记录某个一致的时刻(快照,数据和元数据一致),写到专有的CheckPoint area,持久化。
进行cp的时机:sync umount foreground cleaning
cp的过程: 1、把pagecache中的脏node和脏dentry block,flush到设备上
2、暂停写操作(包括create和mkdir)
3、元数据(NAT、SSA、SIT)写回到设备
4、把checkpoint pack(包含<1>Header and footer<2>NAT和SIT的bitmaps<3>NAT和SIT的jounal<4>Summary block of active segments<5>orphan blocks)
<1>包含pack的版本号信息<2>pack中包含的块的位图(node块和data块)<3>记录最近更新的 NAT和SIT<4>即将写入SSA area的SSA blocks<5>孤儿block信息