The BLKFLSBUF ioctl doesn't send the flush bio to the block device, thus flushed data may be lurking in the disk cache and they may not be really flushed to the stable storage. This patch adds the call to blkdev_issue_flush to blkdev_flushbuf. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> --- block/ioctl.c | 1 + 1 file changed, 1 insertion(+) Index: linux-2.6/block/ioctl.c =================================================================== --- linux-2.6.orig/block/ioctl.c +++ linux-2.6/block/ioctl.c @@ -351,6 +351,7 @@ static int blkdev_flushbuf(struct block_ return -EACCES; fsync_bdev(bdev); invalidate_bdev(bdev); + blkdev_issue_flush(bdev); return 0; }