[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 7/9] qmp: Add dirty-bitmap-enable and dirty-b
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v4 7/9] qmp: Add dirty-bitmap-enable and dirty-bitmap-disable |
Date: |
Thu, 27 Mar 2014 10:46:02 -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:
> This allows to put the dirty bitmap into a disabled state where no more
> writes will be tracked.
>
> It will be used before backup or writing to persistent file.
Is it worth the add-bitmap command being able to add a bitmap in the
disabled state to begin with? I'm trying to figure out if there is a
race between creating a bitmap and disabling it that might matter to any
control flow, where being able to create it disabled would break that race.
>
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> block.c | 15 +++++++++++++++
> blockdev.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> include/block/block.h | 2 ++
> qapi-schema.json | 32 ++++++++++++++++++++++++++++++++
> qmp-commands.hx | 10 ++++++++++
> 5 files changed, 103 insertions(+)
>
> +++ b/qapi-schema.json
> @@ -2254,6 +2254,38 @@
> 'data': { 'device': 'str', 'name': 'str' } }
>
> ##
> +# @dirty-bitmap-enable
> +#
> +# Enable a dirty bitmap on the device
> +#
> +# Setting granularity has no effect here.
See my comments on 2/9 about how this looks odd.
> +#
> +# Returns: nothing on success
> +# If @device is not a valid block device, DeviceNotFound
> +# If @name is not found, GenericError with an explaining message
> +#
> +# Since 2.1
> +##
> +{'command': 'dirty-bitmap-enable',
> + 'data': 'DirtyBitmap' }
Is it worth consolidating this into one command with a 'bool' parameter
that says whether to enable or disable, instead of two separate
commands? Also, is there a counterpart query- command that I can use to
see the current state of a named dirty bitmap and whether it is
currently enabled, so that this isn't a write-only interface?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH v4 1/9] qapi: Add optional field "name" to block dirty bitmap, (continued)
- [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
- Re: [Qemu-devel] [PATCH v4 7/9] qmp: Add dirty-bitmap-enable and dirty-bitmap-disable,
Eric Blake <=
- [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