【发布时间】:2013-12-20 17:28:47
【问题描述】:
新的 syncfs 系统调用是否在返回之前等待磁盘写入完成,就像 fsync 的情况一样? 另外,如果在修改文件后,为此文件描述符调用syncfs是否也会更新包含的directoy条目?
【问题讨论】:
-
syncfs和fsync有什么区别? -
syncfs写入包含文件描述符的分区的所有缓冲数据和元数据,fsync只写入文件描述符的修改数据和元数据。
-
很有趣,谢谢。这使得
syncfs成为一个可能非常昂贵的电话。大概这种刷新会影响该分区中带有脏数据的每个进程,无论他们喜欢与否?还是仅限于syncfs-ing 进程打开的文件? -
@Duck 它比同步所有已安装分区的同步更好。同样在某些情况下,我们希望在修改分区中的许多文件后同步分区一次,因此在每个文件上调用 fsync 可能比单个 syncfs 更昂贵(如果没有其他进程修改分区)