对于哪个文件系统元数据操作实际上保留在ext4和xfs文件系统日志中,我找不到简单直接的答案。请注意,我并不是在询问POSIX声明为“原子”的什么。我更关心的是,原子文件系统操作的哪些子集可以通过启用启用日志而无需持久地向后弯曲而有效地持久化fsync(2)
。
我相当确定的操作是:
creat(2)
link(2)
unlink(2)
rename(2)
mkdir(2)
rmdir(2)
我不确定的操作:
symlink(2)
该symlink(2)
案件是最令人头疼的,因为似乎没有任何可以简单的方式来 fsync(2)
或fdatasync(2)
存储符号链接的内容的基本数据块。知道日记本能帮我解决这个麻烦。