2015年(9)
分类: LINUX
2015-06-17 14:58:45
如果没有JBD2,Ext4的流程是红线;如果有则是绿线。下面对图的1-5阶段做介绍。
1、 在数据准备提交的时候,先由JBD2根据系统设置的不同(writeback, ordered, journal)把对数据的操作写入备份,如果在这之前或是还没写完的时候系统发生了故障(如断电),那么在系统下次完整性检查时就把这些日志数据删除,而不对文件系统做任何改变。
2、 如果到这一步,说明备份数据已经写完,在以后的任何一步发生故障,系统都能根据日志把完整的备份数据写到相应的文件系统里去。当然这些完整情只能保证一个原子操作不完整性。假如你在拷贝一个600M的电影,一个原子操作是10M,那么JBD2系统只能保证下在提交的10M的数据的完成性,页不能保证这个电影的完整性。