[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 5/7] QAPI: add command for live block commit,
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 5/7] QAPI: add command for live block commit, 'block-commit' |
Date: |
Wed, 26 Sep 2012 16:33:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 26.09.2012 16:25, schrieb Jeff Cody:
> On 09/26/2012 10:13 AM, Kevin Wolf wrote:
>> 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 <address@hidden>
>>
>>> 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.
>>
>
> Eric had a similar question, and asked if anyone had any preference -
> this was my response:
>
> ---
>
> I guess I don't have a strong preference either - I originally had it
> the other way, but then that meant the default in the current
> implementation was actually an error.
We can make it non-optional for now and use active as the default once
we introduce support for committing the active layer.
> Also, I assumed (danger!) that the most common use of commit would be a
> snapshot, followed by a commit of active->backing_hd. With that
> assumption, it seemed like a sane default.
>
> ---
>
> I can certainly revert back to having the active layer be the top, if
> that is the preference.
I think it is, if nothing else for consistency with the existing
synchronous 'commit' command.
Kevin