我们知道文件写入是Linux操作系统的缓存,只有在操作系统必须这样做或者调用fsync()时才会被提交到磁盘。
但是, 文件系统操作(如重命名/取消链接)是否已缓存?从重命名/取消链接成功返回是否确保操作被提交到磁盘并且即使操作系统崩溃也能存活?
答案 0 :(得分:2)
如果这种东西立即被写出来,那么表演将会非常糟糕。
有各种方法:日志结构文件系统,软更新,日记和更多。
我建议你阅读http://www.nobius.org/~dbg/practical-file-system-design.pdf