From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45172) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TGsN3-0008F0-QT for qemu-devel@nongnu.org; Wed, 26 Sep 2012 10:13:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TGsMx-00020q-U9 for qemu-devel@nongnu.org; Wed, 26 Sep 2012 10:13:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58032) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TGsMx-00020m-M6 for qemu-devel@nongnu.org; Wed, 26 Sep 2012 10:13:43 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q8QEDgwT003091 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 26 Sep 2012 10:13:43 -0400 Message-ID: <50630D94.9000605@redhat.com> Date: Wed, 26 Sep 2012 16:13:40 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <75bbfc268498ae3733d7ffb896ab0852527d5b11.1348589526.git.jcody@redhat.com> In-Reply-To: <75bbfc268498ae3733d7ffb896ab0852527d5b11.1348589526.git.jcody@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 5/7] QAPI: add command for live block commit, 'block-commit' List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody Cc: pbonzini@redhat.com, eblake@redhat.com, qemu-devel@nongnu.org Am 25.09.2012 18:29, schrieb Jeff Cody: > The command for live block commit is added, which has the following > arguments: > > device: the block device to perform the commit on (mandatory) > base: the base image to commit into; optional (if not specified, > it is the underlying original image) > top: the top image of the commit - all data from inside top down > to base will be committed into base. optional (if not specified, > it is one below the active image) - see note below > speed: maximum speed, in bytes/sec > > note: eventually this will support merging down the active layer, > but that code is not yet complete. If the active layer is passed > in currently as top, or top is left to the default, then an error > will be returned. > > The is done as a block job, so upon completion a BLOCK_JOB_COMPLETED will > be emitted. > > Signed-off-by: Jeff Cody > diff --git a/qapi-schema.json b/qapi-schema.json > index 14e4419..e614453 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -1468,6 +1468,41 @@ > 'returns': 'str' } > > ## > +# @block-commit > +# > +# Live commit of data from overlay image nodes into backing nodes - i.e., > +# writes data between 'top' and 'base' into 'base'. > +# > +# @device: the name of the device > +# > +# @base: #optional The file name of the backing image to write data into. > +# If not specified, this is the deepest backing image > +# > +# @top: #optional The file name of the backing image within the image chain, > +# which contains the topmost data to be committed down. > +# If not specified, this is one layer below the active > +# layer (i.e. active->backing_hd). Why isn't active the default any more? I know, we don't support it yet, but long term this is what makes most sense as a default. > +# > +# If top == base, that is an error. > +# > +# > +# @speed: #optional the maximum speed, in bytes per second > +# > +# Returns: Nothing on success > +# If commit or stream is already active on this device, DeviceInUse > +# If @device does not exist, DeviceNotFound > +# If image commit is not supported by this device, NotSupported > +# If @base does not exist, a generic error is returned > +# If @top does not exist, a generic error is returned > +# If @speed is invalid, InvalidParameter > +# > +# Since: 1.3 > +# > +## > +{ 'command': 'block-commit', > + 'data': { 'device': 'str', '*base': 'str', '*top': 'str', > + '*speed': 'int' } } Kevin