From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O9NR6-0006ol-Fw for qemu-devel@nongnu.org; Tue, 04 May 2010 15:05:40 -0400 Received: from [140.186.70.92] (port=51236 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O9NR5-0006mo-1x for qemu-devel@nongnu.org; Tue, 04 May 2010 15:05:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O9NR3-00014k-IU for qemu-devel@nongnu.org; Tue, 04 May 2010 15:05:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42564) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O9NR3-00014Z-BK for qemu-devel@nongnu.org; Tue, 04 May 2010 15:05:37 -0400 Date: Tue, 4 May 2010 22:01:24 +0300 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] [PATCH] virtio-spec: document block CMD and FLUSH Message-ID: <20100504190124.GA29764@redhat.com> References: <20100218222220.GA14847@redhat.com> <20100420014635.GE21899@shareable.org> <20100504185614.GB24998@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100504185614.GB24998@lst.de> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christoph Hellwig Cc: Rusty Russell , qemu-devel@nongnu.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org 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.