[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 2/7] qmp: add internal sync mode "common" to
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/7] qmp: add internal sync mode "common" to mirror_start |
Date: |
Mon, 30 Sep 2013 08:49:31 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
On 09/30/2013 06:02 AM, Fam Zheng wrote:
> This adds a new sync mode "common" which only copies data that is above
> the common ancestor of source and target. In general, this could be useful
> in cases like:
>
> base_bs ---> common_ancestor ---> foo ---> bar --->source
> \
> \---> target
>
> Where data in foo, bar and source will be copied to target, once such
> common backing_hd sharing is introduced. For now, we could use a special
> case: If target is the ancestor of source, like,
>
> base_bs ---> target ---> foo ---> bar --->source
>
> The data in foo, bar and source will be copied to target, like
> drive-commit, and when they are synced, the source bs replaces target
> bs. This is specifically useful for block commit of active layer.
>
> This mode is not available (-ENOTSUP) from QMP interface, it is only
> used internally by block commit code.
>
> +++ b/qapi-schema.json
> @@ -1363,7 +1363,7 @@
> # Since: 1.3
> ##
> { 'enum': 'MirrorSyncMode',
> - 'data': ['top', 'full', 'none'] }
> + 'data': ['top', 'full', 'none', 'common'] }
Is it worth documenting the mode, in order to include a '(since 1.7)'
notation, as well as a mention that this mode is not supported via QMP
but only exists so that the code generator will support the mode needed
internally? Is there any way to refactor things so that you don't have
to munge the QAPI just to provide this internal-only mode?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v4 0/7] block: allow commit active as top, Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 1/7] block: add bdrv_common_ancestor(), Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 2/7] qmp: add internal sync mode "common" to mirror_start, Fam Zheng, 2013/09/30
- Re: [Qemu-devel] [PATCH v4 2/7] qmp: add internal sync mode "common" to mirror_start,
Eric Blake <=
- [Qemu-devel] [PATCH v4 3/7] mirror: don't close target, Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 4/7] mirror: Add commit_job_type to perform commit with mirror code, Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 5/7] commit: support commit active layer, Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 6/7] commit: remove unused check, Fam Zheng, 2013/09/30
- [Qemu-devel] [PATCH v4 7/7] qemu-iotests: update test cases for commit active, Fam Zheng, 2013/09/30