Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我编写了一些代码,其中非常重要的一点是文件的内容被写入磁盘
我正在使用 ext4,这样日志就可以保证卷的完整性
为了保证我的文件实际上在磁盘上,并且在发生崩溃时重播日志时不易受到错误的影响,除了flush()之外,我还需要做其他事情吗?我相信就是这样,刷新的合同是内容在磁盘上,并且所有缓冲区/缓存都被刷新
flush()确保所有进程看到文件处于相同状态,但不保证所有字节都已写入磁盘。需要进一步调用fsync()或fdatasync()。
flush()
fsync()
fdatasync()