From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5AbN-0003bU-EH for qemu-devel@nongnu.org; Thu, 10 Jul 2014 05:25:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X5AbG-0001zl-4q for qemu-devel@nongnu.org; Thu, 10 Jul 2014 05:25:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:28602) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5AbF-0001zb-Sd for qemu-devel@nongnu.org; Thu, 10 Jul 2014 05:25:10 -0400 Date: Thu, 10 Jul 2014 11:25:03 +0200 From: Kevin Wolf Message-ID: <20140710092503.GB3919@noname.redhat.com> References: <20140627094449.GB5223@noname.redhat.com> <20140710084204.GB22070@T430.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140710084204.GB22070@T430.redhat.com> Subject: Re: [Qemu-devel] [PATCH for 2.1 0/2] Fix commit of oversized layer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: benoit.canet@irqsave.net, Jeff Cody , qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com Am 10.07.2014 um 10:42 hat Fam Zheng geschrieben: > On Fri, 06/27 11:44, Kevin Wolf wrote: > > In general, it feels like it would be the right thing to do, especially > > considering the goal of operation categories in the final state, but on > > the other hand it means that RESIZE would have to be excluded from > > bs->backing_blocker, too, allowing standalone resize commands on backing > > files. Not sure that this would be a good idea... > > Is it really dangerous if we relax the backing_blocker on resize? In general, I > expect the only critical category of operation is chain manipulation, > particularly bdrv_swap. I'm not completely sure about backing_blockers on resize, but I don't think there's currently a way to make it safe, except if the image could be safely removed from the backing chain altogether. In any case, as long as block jobs don't set blockers on all images they touch but rather just on the top-level one, allowing to resize arbitrary nodes is dangerous because the block jobs can't cope with BDSes changing their size in the middle of the operation. > And speaking of bdrv_swap, in longer term, if we have the BlockBackend that can > serve as a level of abstraction between BlockDriverState (the backend > implementation) and its users (the backend consumers, like device), we can > probably drop bdrv_swap() by updating the BB->BDS link. > [...] > Is this a good direction? Yes, eventually we'll want to get rid of bdrv_swap() and just update pointers instead. We're not quite there yet, though. Kevin