关于ext3日志文件系统的一点浅见

 

ext3添加了日志功能,下面是研究通过日志恢复文件时的一点心得,工作需要,未作深入研究。

只言片语,不成体系,个人理解,可能不对!

 

 jbd日志过程:(ordered为例)

1. 对元数据的修改(以块为单位)先记录到日志中(这时的数据应该还在内存)

2. 对文件内容进行相应操作

3. 进行commit操作,表示此次操作完成,日志中的元数据可以生效

4. jbd守护进程定时把日志中的元数据flush到磁盘

 

删除操作为例:

1. 在内存中将inode的数据修改,修改后的inode写入日志

2. 文件数据清空(实际上只是清除指针,可能在上一步已经做完)

3. 日志中append一个commit操作,表示删除操作完成

4. 修改后的inode被jbd守护进程flush到磁盘

故被删除的文件想要恢复,只能祈祷inode所在块,在之前的日志记录中,被写到了日志中

 

参考:

http://bbs.chinaunix.net/thread-1922346-1-1.html

 

你可能感兴趣的:(ext,jbd)