Red Hat还在做工作,以提高ext3某些方面的性能,所以ext3的某些方面性能在将来可以获得改善。这也意味着即使你现在选择了data=writeback,你也需要以data=journal的缺省值重新测试将来的版本,来确定新版本的改变是否与自己的工作有关。
数据完整性
在大多数情况下,用户都是在文件的末尾写入数据。仅仅在某些情况下(例如数据库),用户在现存文件的中间写入数据。甚至覆盖现存文件的操作,是通过先截断该文件,然后再从文件末尾写入数据来实现的。
在data=ordered模式中,如果正在写文件时系统崩溃,那么数据块可能被部分改写,但是写入过程并没有完成,所以系统存在不属于任何文件的不完整数据块。
在data=ordered模式中,崩溃后残存无序数据块的唯一情况是在崩溃过程中一个程序正在重写某个文件。在这种情况下,无法绝对保证写入顺序,除非该程序使用了fsync()和O_SYNC强制写操作按特定顺序进行。

投稿指南


