blockdev --flushbufs是否可靠地同步到磁盘?

时间:2016-03-29 08:01:31

标签: linux-kernel embedded-linux block-device

我在我们的一个shell脚本中使用blockdev --flushbufs /dev/mmcblk0p1

我认为它与原始块设备访问的同步效果相同。

我想知道在blockdev --flushbufs结束时是否可以安全地假设该设备的所有延迟写入都已完成?

(手册页提到了ioctls所以我认为应该阻止?)

1 个答案:

答案 0 :(得分:0)

在emmc上,此功能无法正常运行(与一般sd卡相同)。 ioctl尚未在上游驱动程序上实现。

到目前为止,我一直认为它按照它说的做,直到我意识到它什么也没做。

mmcqd不受ioctl BLKFLSBUF的影响,并处理队列中挂起的异步mmc请求。它需要花些时间,但是如果在执行后立即执行poweroff -f: blockdev --flushbufs 要么 回声3> / proc / sys / vm / drop_caches 在您的emmc或sd卡上,block dev和文件系统不会完全同步。