据我所知,在大多数日志模式为“data=ordered”的ext3系统上,fsync不仅会同步fd指定的文件,还会同步文件系统上的所有文件,而且这个问题还没有被修复内核 2.6.30 之前
我有一个问题,就是 msync 和 fsync 做的事情一样吗?
谢谢。
最佳答案
这不是错误,这是一个功能。 Ext3 是一种日志文件系统。 data=ordered 表示您要求对文件系统的更改按照更改的顺序写入。
因此,当您要求将更改同步到特定文件时,您必须提交所有先前的更改,无论是对该文件还是其他文件,否则您将破坏保持数据有序的指令。出于这个原因,我怀疑 msync 会以相同的方式运行,尽管我没有检查过。
事实上,有人可以争辩说,如果不是这样,那就是文件系统错误...
关于linux - msync 是否像 ext3 上的 fsync 一样将文件系统上的所有文件同步到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709150/