On Tue, May 04, 2010 at 08:56:14PM +0200, Christoph Hellwig wrote: > On Tue, Apr 20, 2010 at 02:46:35AM +0100, Jamie Lokier wrote: > > Does this mean that virtio-blk supports all three combinations? > > > > 1. FLUSH that isn't a barrier > > 2. FLUSH that is also a barrier > > 3. Barrier that is not a flush > > > > 1 is good for fsync-like operations; > > 2 is good for journalling-like ordered operations. > > 3 sounds like it doesn't mean a lot as the host cache provides no > > guarantees and has no ordering facility that can be used. > > No. The Linux virtio_blk guest driver either supports data integrity > by using FLUSH or can send down BARRIER requests which aren't much > help at all.
It seems we use BARRIER when we get REQ_HARDBARRIER, right? What does the REQ_HARDBARRIER flag in request mean and when is it set? > Qemu only implements FLUSH anyway.