From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcAuv-0002IS-Mb for qemu-devel@nongnu.org; Tue, 14 May 2013 04:49:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UcAus-000128-Nr for qemu-devel@nongnu.org; Tue, 14 May 2013 04:49:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13461) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcAus-00010w-Fo for qemu-devel@nongnu.org; Tue, 14 May 2013 04:49:02 -0400 Date: Tue, 14 May 2013 10:48:57 +0200 From: Stefan Hajnoczi Message-ID: <20130514084857.GF8739@stefanha-thinkpad.redhat.com> References: <1367221335-22777-1-git-send-email-stefanha@redhat.com> <1367221335-22777-3-git-send-email-stefanha@redhat.com> <518DC2C6.5030500@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <518DC2C6.5030500@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 2/3] block: add block-backup QMP command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Kevin Wolf , Fam Zheng , qemu-devel@nongnu.org, Wenchao Xia , imain@redhat.com, pbonzini@redhat.com, dietmar@proxmox.com On Fri, May 10, 2013 at 10:02:14PM -0600, Eric Blake wrote: > On 04/29/2013 01:42 AM, Stefan Hajnoczi wrote: > > @block-backup > > > > +++ b/qapi-schema.json > > @@ -1715,6 +1715,37 @@ > > '*speed': 'int' } } > > > > ## > > +# @block-backup > > +# > > +# Start a point-in-time copy of a block device to a new destination. The > > +# status of ongoing block backup operations can be checked with > > +# query-block-jobs. The operation can be stopped before it has completed using > > +# the block-job-cancel command. > > Still might be worth mentioning that 'query-block-jobs' will list it as > a job of type 'backup'. Will fix in v3. > > +# > > +# @device: the name of the device whose writes should be mirrored. > > +# > > +# @target: the target of the new image. If the file exists, or if it > > +# is a device, the existing file/device will be used as the new > > +# destination. If it does not exist, a new file will be created. > > +# > > +# @format: #optional the format of the new destination, default is to > > +# probe if @mode is 'existing', else the format of the source > > +# > > +# @mode: #optional whether and how QEMU should create a new image, default is > > +# 'absolute-paths'. > > +# > > +# @speed: #optional the maximum speed, in bytes per second > > +# > > +# Returns: nothing on success > > +# If @device is not a valid block device, DeviceNotFound > > +# > > +# Since 1.6 > > +## > > +{ 'command': 'block-backup', > > + 'data': { 'device': 'str', 'target': 'str', '*format': 'str', > > Hmm - wondering if we should add an enum type for supported disk formats > instead of using free-form strings. The wire representation would be > the same, and now's the time to do it before we add introspection (it's > more than just this command impacted). Interesting discussion about dynamic schema. Since the wire format is the same, I don't want to attempt solving the problem in the block-backup series.