Re: [PATCH] virtio-blk: set QUEUE_ORDERED_DRAIN by default

From: Christoph Hellwig
Date: Tue Aug 25 2009 - 10:16:30 EST

On Tue, Aug 25, 2009 at 11:41:37PM +0930, Rusty Russell wrote:
> On Fri, 21 Aug 2009 06:26:16 am Christoph Hellwig wrote:
> > Currently virtio-blk doesn't set any QUEUE_ORDERED_ flag by default, which
> > means it does not allow filesystems to use barriers. But the typical use
> > case for virtio-blk is to use a backed that uses synchronous I/O
> Really? Does qemu open with O_SYNC?
> I'm definitely no block expert, but this seems strange...
> Rusty.

Qemu can open it various ways, but the only one that is fully safe
is O_SYNC (cache=writethrough). The O_DIRECT (cache=none) option is also
fully safe with the above patch under some limited circumstances
(disk write caches off and using a host device or fully allocated file).

Fixing the cache=writeback option and the majority case for cache=none
requires implementing a cache flush command, and for the latter one
also fixes to the host kernel I'm working on. You will get another
patch to implement the proper cache controls in virtio-blk for me in
a couple of days, too.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at