[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 4/4] QAPI: add command for live block commit
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC PATCH 4/4] QAPI: add command for live block commit, 'block-commit' |
Date: |
Tue, 31 Jul 2012 12:38:55 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 |
On 07/30/2012 11:16 PM, Jeff Cody wrote:
> 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 the active image) - see note below
> speed: maximum speed, in bytes/sec
> on_error: action to take on error (optional - default is report)
>
> 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 the error
> QERR_TOP_NOT_FOUND will be returned.
>
> The is down as a block job, so upon completion a BLOCK_JOB_COMPLETED will
> be emitted.
s/The is down/This is done/ ?
Also, how does block-job-cancel interact with the job started by this
command? Is it something we can cancel and restart at will, like
block-stream?
> +++ b/qapi-schema.json
> @@ -1365,6 +1365,39 @@
> 'returns': 'str' }
>
> ##
> +# @block-commit
> +#
> +# Live commit of data from child image nodes into parent nodes - i.e.,
> +# writes data between 'top' and 'base' into 'base'.
> +#
> +# @device: the name of the device
> +#
> +# @base: #optional The parent image of the device to write data into.
> +# If not specified, this is the original parent image.
> +#
> +# @top: #optional The child image, above which data will not be commited
s/commited/committed/
> +# @on_error: #optional the action to take on an error (default report)
> +#
> +# 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, BaseNotFound
> +# If @top does not exist, TopNotFound
> +# If @speed is invalid, InvalidParameter
> +#
> +# Since: 1.2
> +#
> +##
> +{ 'command': 'block-commit',
> + 'data': { 'device': 'str', '*base': 'str', '*top': 'str',
> + '*speed': 'int', '*on_error': 'BlockdevOnError' } }
s/on_error/on-error/ (hmm, I guess you were copying from Paolo's series,
so he probably has the same change to make)
--
Eric Blake address@hidden +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [RFC PATCH 0/4] Live block commit, Jeff Cody, 2012/07/31
- [Qemu-devel] [RFC PATCH 1/4] block: add support functions for live commit, to find and delete images., Jeff Cody, 2012/07/31
- [Qemu-devel] [RFC PATCH 3/4] qerror: new errors for live block commit, QERR_TOP_NOT_FOUND, Jeff Cody, 2012/07/31
- [Qemu-devel] [RFC PATCH 4/4] QAPI: add command for live block commit, 'block-commit', Jeff Cody, 2012/07/31
- Re: [Qemu-devel] [RFC PATCH 4/4] QAPI: add command for live block commit, 'block-commit',
Eric Blake <=
- [Qemu-devel] [RFC PATCH 2/4] block: add live block commit functionality, Jeff Cody, 2012/07/31