[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 2/9] qmp: Add dirty-bitmap-add and dirty-bitm
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/9] qmp: Add dirty-bitmap-add and dirty-bitmap-remove |
Date: |
Thu, 27 Mar 2014 10:41:45 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
On 03/27/2014 03:09 AM, Fam Zheng wrote:
> The new command pair is added to manage user created dirty bitmap. The
> dirty bitmap's name is mandatory and must be unique for the same device,
> but different devices can have bitmaps with the same names.
>
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> +++ b/qapi-schema.json
> @@ -2209,6 +2209,51 @@
> '*on-target-error': 'BlockdevOnError' } }
>
> ##
> +# @DirtyBitmap
> +#
> +# @device: name of device which the bitmap is tracking
> +#
> +# @name: name of the dirty bitmap
> +#
> +# @granularity: #optional the bitmap granularity, default is 64k for
> +# dirty-bitmap-add
Optional, but only affects dirty-bitmap-add. You later document...
> +# @dirty-bitmap-remove
> +#
> +# Remove a dirty bitmap on the device
> +#
> +# Setting granularity has no effect here.
...that it is silently ignored where it can't be used here, and again in
7/9 for both dirty-bitmap-disable and dirty-bitmap-enable.
I think it would be smarter to do:
{ 'type': 'DirtyBitmap',
'data': { 'device': 'str', 'name': 'str' } }
{'command': 'dirty-bitmap-add',
'data': { 'map': 'DirtyBitmap', '*granularity': 'int' } }
Or:
{ 'type': 'DirtyBitmap',
'data': { 'device': 'str', 'name': 'str' } }
{ 'type': 'DirtyBitmapGranularity',
'base': 'DirtyBitmap',
'data': { '*granularity': 'int' } }
{'command': 'dirty-bitmap-add',
'data': 'DirtyBitmapGranularity' }
which says that the 'DirtyBitmap' struct has no optional members, and
instead of silently ignoring an optional member in 3 commands, we
instead write the one command that takes the optional argument when we
actually care about it.
--
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/9] QMP: Introduce incremental drive-backup with in-memory dirty bitmap, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 1/9] qapi: Add optional field "name" to block dirty bitmap, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 2/9] qmp: Add dirty-bitmap-add and dirty-bitmap-remove, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 4/9] block: Introduce bdrv_dirty_bitmap_granularity(), Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 5/9] hbitmap: Add hbitmap_copy, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 6/9] block: Add bdrv_copy_dirty_bitmap and bdrv_reset_dirty_bitmap, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 7/9] qmp: Add dirty-bitmap-enable and dirty-bitmap-disable, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 8/9] qmp: Add support of "dirty-bitmap" sync mode for drive-backup, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 9/9] qapi: Add transaction support to dirty-bitmap-{add, disable}, Fam Zheng, 2014/03/27
- [Qemu-devel] [PATCH v4 3/9] block: Handle error of bdrv_getlength in bdrv_create_dirty_bitmap, Fam Zheng, 2014/03/27