首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确保fsync完成它的工作

确保fsync完成它的工作
EN

Stack Overflow用户
提问于 2012-07-23 12:03:42
回答 1查看 308关注 0票数 2

fsync的手册上写着:

如果底层硬盘启用了写缓存,那么当fsync() /fdat异步c()返回时,数据可能不会真正处于永久存储中。

是否有任何方法确保数据被物理写入磁盘?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 12:05:58

不,没有。

使用fsync,您可以告诉您的操作系统将其写入磁盘,而就操作系统而言,它已被写入磁盘。

如果磁盘是伪造的,那么不幸的是,这并不是真正可以改变的东西。有了适当的磁盘系统(即BBU设置),您可以简单地启用/禁用写缓存,以避免这种情况。

请注意,如果指定了O_DIRECTO_SYNC标志,则应该将其写入磁盘:http://www.kernel.org/doc/man-pages/online/pages/man2/open.2.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11612165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档