今天我偶然发现了这个mount
选项:
dirsync
文件系统内的所有目录更新应同步完成。这会影响以下系统调用:creat、link、unlink、symlink、mkdir、rmdir、mknod 和 rename。
此选项有哪些实际用例?我什么时候想使用dirsync
而不是sync
?
答案1
sync
做一切事情dirsync
,甚至更多。不幸的是,这个“更多”会严重影响性能。启用后sync
,所有磁盘 I/O 都会立即写入磁盘。使用 时dirsync
,仅立即写入目录操作。
我见过的唯一可能需要使用dirsync
而不是sync
网络文件系统的情况。当多个盒子在共享目录中工作时,它们可能会尝试同时创建文件。一个盒子将创建该文件,但如果没有dirsync
打开,该文件对其他盒子尚不可见。打开dirsync
后,该文件将立即显示,因此其他服务器至少知道它存在并且现在可以对其执行文件锁定。