UNIX文件系统VxFS:特性、优化与性能调优
1. 文件创建与日志重放
1.1 文件创建步骤
在创建新文件时,需要完成以下步骤:
1. 更新新文件所在根目录的链接计数和时间戳。
2. 更新inode位图,表明inode已被分配。
3. 初始化新的inode。
4. 更新目录块,添加新文件的条目。
1.2 意图日志重放
当事务写入日志时,会设置标记来指示事务的开始和结束。如果系统崩溃, fsck 会运行,并对日志中找到的所有完整事务进行日志重放。具体步骤如下:
1. 通过扫描最低事务ID来定位日志的起始位置。
2. 从头到尾依次重放每个子功能,即幂等地执行条目中指定的操作。例如,日志中的 “将inode链接计数增加” 操作不是幂等的,多次重放会使inode链接计数无效,应使用 “将inode链接计数设置为3” 这样的操作。
3. 意图日志的大小在创建文件系统时选择,也可直接指定,目前最大日志大小为16MB。
graph TD;
A[系统崩溃] --> B[fsck运行];
B --> C[定位日志起始位置];
C --> D[重放子功能];
2. 扩展操作
2.1 问题描述
对于日志式文件系统,某些操作会带来问题。例如,当对链接计数为1的文件调用 unlink() 系统调用时,调用返回后文件被视为已删除,但如果文件仍
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



