rename/unlink 等文件系统操作是否缓存?

Are file system operations such as rename/unlink cached?

正如我们所知,文件写入由 Linux OS 缓存,只有在 OS 必须这样做或调用 fsync() 时才会提交到磁盘。

但是, rename/unlink 等文件系统操作是否缓存? rename/unlink 中的成功 return 是否确保操作已提交到磁盘并且即使 OS 崩溃也能继续运行?

这种东西要是直接写出来性能就差到不行了

有多种方法:日志结构文件系统、软更新、日志记录等等。

我建议你阅读http://www.nobius.org/~dbg/practical-file-system-design.pdf