fsync无法在ext3或ext4系统上运行

时间:2014-09-24 01:20:02

标签: linux sd-card fsync

我尝试使用fsync尽快将一些文件写入SD卡。但是,在将文件物​​理写入SD卡之前,fsync实际上并未阻止。在数据实际上在SD卡上之前,似乎需要大约5-6秒。但是使用commit = 1或者sync选项安装文件系统(我试过ext3,ext4)似乎确实有效,数据在1秒内重启后是安全的。我的问题是,无论如何都要实现刷新而不采用分区范围的解决方案?我使用的是Linux内核2.6.37。谢谢

1 个答案:

答案 0 :(得分:0)

如果您想确保内容写在SD卡上,您应该在退出程序之前使用--flushbufs调用blockdev。 如果您想对写入过程进行基准测试,可以在每次写入后调用它。

/sbin/blockdev --flushbufs $dev