当前位置: 技术问答>linux和unix
下载时断电,硬盘中文件size变为0
来源: 互联网 发布时间:2016-07-27
本文导语: 正在做的产品可以支持硬盘下载 但是在读写硬盘文件的过程中,断电(没有ups),开机后发现文件size变为0(该文件正常大小只有几k) 已经尝试了以下方法: 在fwrite之后 fsync 还是不行 改为系统调用open(O_SYNC) write 也...
正在做的产品可以支持硬盘下载
但是在读写硬盘文件的过程中,断电(没有ups),开机后发现文件size变为0(该文件正常大小只有几k)
已经尝试了以下方法:
在fwrite之后 fsync 还是不行
改为系统调用open(O_SYNC) write 也不行
查找一些资料后,
发现 系统有写入缓存
硬盘本身也有写入缓存
调用fsync 只是把系统缓存的data送到了磁盘的写入缓存中,并没有真正写到硬盘实际存储区域中
想请教:
1。这种情况,除了Ups,有其它方法可以解决吗?
2。有没有系统调用可以 disable 硬盘的写入缓存?
多谢大家了
但是在读写硬盘文件的过程中,断电(没有ups),开机后发现文件size变为0(该文件正常大小只有几k)
已经尝试了以下方法:
在fwrite之后 fsync 还是不行
改为系统调用open(O_SYNC) write 也不行
查找一些资料后,
发现 系统有写入缓存
硬盘本身也有写入缓存
调用fsync 只是把系统缓存的data送到了磁盘的写入缓存中,并没有真正写到硬盘实际存储区域中
想请教:
1。这种情况,除了Ups,有其它方法可以解决吗?
2。有没有系统调用可以 disable 硬盘的写入缓存?
多谢大家了
|
来学习...
|
linux下 我都用 umount 之后再取下U盘
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。