1

我编写了一些代码,其中非常重要的一点是文件的内容被写入磁盘

我正在使用 ext4,这样日志就可以保证卷的完整性

为了保证我的文件实际上在磁盘上,并且在发生崩溃时重播日志时不易受到错误的影响,除了flush()之外,我还需要做其他事情吗?我相信就是这样,刷新的合同是内容在磁盘上,并且所有缓冲区/缓存都被刷新

4

1 回答 1

2

flush()确保所有进程看到文件处于相同状态,但不保证所有字节都已写入磁盘。需要进一步调用fsync()fdatasync()

于 2012-08-18T19:25:26.880 回答