From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44608) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S20I0-00077K-St for qemu-devel@nongnu.org; Mon, 27 Feb 2012 08:06:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S20Hu-0008Qr-7Q for qemu-devel@nongnu.org; Mon, 27 Feb 2012 08:06:52 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48847) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S20Ht-0008QY-Vg for qemu-devel@nongnu.org; Mon, 27 Feb 2012 08:06:46 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1RD6ixV003037 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 27 Feb 2012 08:06:45 -0500 Date: Mon, 27 Feb 2012 10:06:45 -0300 From: Luiz Capitulino Message-ID: <20120227100645.3f36d52d@doriath.home> In-Reply-To: <4F4B7BCD.6000808@redhat.com> References: <20120224170143.78f55d3e@doriath.home> <8eaeb022-ea20-4823-886a-e629bce1c776@zmail16.collab.prod.int.phx2.redhat.com> <20120227091215.7849e558@doriath.home> <4F4B7BCD.6000808@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2 v2] Add the blockdev-reopen and blockdev-migrate commands List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, Federico Simoncelli , mtosatti@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com On Mon, 27 Feb 2012 13:49:17 +0100 Paolo Bonzini wrote: > On 02/27/2012 01:12 PM, Luiz Capitulino wrote: > > > If I didn't make any mistake in the code I'm just enforcing that when > > > you specify "incremental" you also need a new image. > > > There are still other valid cases where they are optional. > > > > Which operation will be performed if 'incremental' is not passed? If > > it's passed, which operation will be performed if 'new_image_file' is not? > > There are four cases: > > 1) incremental=false, new_image_file not passed: > right now fail; in the future: > - create an image on dest with no backing file; > - writes will be mirrored to current_image_file and dest > - start streaming from current_image_file to dest > > 2) incremental=false, new_image_file passed: > right now fail; in the future: > - create an image on dest with no backing file; > - live-snapshot based on current_image_file to new_image_file; > - writes will be mirrored to new_image_file and dest > - start streaming from current_image_file to dest > > > 3) incremental=true, new_image_file not passed: > - error > > 4) incremental=true, new_image_file passed: > - no images will be created > - writes will be mirrored to new_image_file and dest IMHO, this is asking for two commands, where cases 1 & 2 is one of them and cases 3 & 4 is the other one. Note how 'incremental' goes away and 'new_image_file' really becomes an optional.