From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58034) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDvum-0006xu-Pp for qemu-devel@nongnu.org; Fri, 08 Mar 2013 06:56:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDvul-0004dc-IZ for qemu-devel@nongnu.org; Fri, 08 Mar 2013 06:56:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60192) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDvul-0004cd-Bk for qemu-devel@nongnu.org; Fri, 08 Mar 2013 06:56:43 -0500 Date: Fri, 8 Mar 2013 12:56:37 +0100 From: Kevin Wolf Message-ID: <20130308115636.GB4573@dhcp-200-207.str.redhat.com> References: <51378B97.2000709@redhat.com> <20130306184800.GB22782@localhost.localdomain> <51379304.50307@dlhnet.de> <5137A964.5020803@redhat.com> <513855A7.7070205@dlhnet.de> <5138BBA7.5030903@redhat.com> <51399911.1060006@dlhnet.de> <5139AE29.9020106@redhat.com> <20130308093519.GA4573@dhcp-200-207.str.redhat.com> <2A642238-3C33-4CF3-86EF-FB4544FDB1CA@dlhnet.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2A642238-3C33-4CF3-86EF-FB4544FDB1CA@dlhnet.de> Subject: Re: [Qemu-devel] [PATCH 1/7] block: only force IO completion in .bdrv_truncate if we are shrinking List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Lieven Cc: Paolo Bonzini , Jeff Cody , qemu-devel@nongnu.org, stefanha@redhat.com, sw@weilnetz.de Am 08.03.2013 um 12:46 hat Peter Lieven geschrieben: > > Am 08.03.2013 um 10:35 schrieb Kevin Wolf : > > > Am 08.03.2013 um 10:23 hat Paolo Bonzini geschrieben: > >> Il 08/03/2013 08:53, Peter Lieven ha scritto: > >>>> > >>>> I think the fix is to only call it for the monitor command. Optionally, > >>>> when shrinking, assert that there are no requests in flight. > >>> > >>> Okay. > >>> > >>> What is the plan? just fix this or fix the whole thing (which seems to > >>> be some > >>> work). > >>> > >>> The suggested patch from Jeff will break iscsi_truncate as bs->growable > >>> is 1 currently. > >> > >> I guess it's up to Kevin and Jeff. > > > > Someone needs to send a fix for the qcow1 (and probably vmdk) > > regression, otherwise I'll have to revert the patch. > > What about Paolos suggestion to call bdrv_drain_all() from the block_resize > command and not in bdrv_truncate? It is not a the complete solution, but it > will fix the regression. However, what happens if someone resizes a qcow2 > device? I suppose you mean qcow1? It doesn't support resizing images, but even if it did, this shouldn't be a problem: The problematic case is the call of bdrv_drain_all() during a read/write function, which would have to wait for itself to complete. As soon as you restrict the bdrv_drain_all() to the monitor, waiting for in-flight I/Os should just work. Kevin