【发布时间】:2010-10-16 20:50:23
【问题描述】:
当使用close() 或fclose()(例如)关闭文件时,Linux 是否保证将文件写回(永久)磁盘?
我的意思是,如果close() 返回 0,然后立即断电,之前写入的数据是否可以保证持续存在,即持久?
fsync() 系统调用确实提供了这种保证。关闭文件也够了吗?
我目前找不到任何可以以某种方式提出索赔的东西。
问题 2:
如果close() 确实隐式执行fsync(),有没有办法告诉它不要这样做?
【问题讨论】:
-
一个相关的问题是
close()之后是否可以重新打开文件到fsync()。我找不到任何权威的答案。这是open question。
标签: linux file-io filesystems