我知道即使正在写入的文件已打开O_DIRECT并且文件的元数据已更改,XFS 也不会同步元数据。但是对于 ext4,我注意到 MySQL 支持O_DIRECT_NO_FSYNC,这意味着 MySQL 不会调用fsync()并让文件系统自行同步元数据。
所以问题来了:如果我在 ext4 中open有一个文件O_DIRECT(比如 linux 内核版本 5.8.0),然后调用fsync()after write(),会fsync()做什么?
要遵循的另一个问题:fsync()如果open()文件包含O_DIRECT | O_SYNC在 ext4 中会怎样?
谢谢!