softupdates仅保证文件系统的一致性。任意时刻断电,它可能造成的唯一损失是inode之类的资源分配了而并没有实际的data block(可以参照soft updates的研究论文)。这一点,绝对不会破坏文件系统本身。
总结下来,就是freebsd在7.0之前的ufs2的确没有
“对上次没完成的操作进行记录”
的功能。因为它缺少
block journaling和metadata-only journaling这些功能,
而ext3、reiserfs都有,这使得
freebsd在突然断电的情况下只能依靠文件系统本身的metadata来恢复受损的文件,
而linux却可以跳过这一步,先尝试用日志恢复上一次未完成的操作。