[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v2 1/8] qmp: print dirty bitmap
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH RFC v2 1/8] qmp: print dirty bitmap |
Date: |
Tue, 27 Jan 2015 09:17:56 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
On 01/27/2015 03:56 AM, Vladimir Sementsov-Ogievskiy wrote:
> Adds qmp and hmp commands to print dirty bitmap. This is needed only for
> testing.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block.c | 33 +++++++++++++++++++++++++++++++++
> blockdev.c | 13 +++++++++++++
> hmp-commands.hx | 15 +++++++++++++++
> hmp.c | 8 ++++++++
> hmp.h | 1 +
> include/block/block.h | 2 ++
> qapi-schema.json | 3 ++-
> qapi/block-core.json | 3 +++
> qmp-commands.hx | 5 +++++
> 9 files changed, 82 insertions(+), 1 deletion(-)
>
> +void bdrv_print_dirty_bitmap(BdrvDirtyBitmap *bitmap)
> +{
> + unsigned long a = 0, b = 0;
> +
> + printf("bitmap '%s'\n", bitmap->name ? bitmap->name : "no name");
> + printf("enabled: %s\n", bitmap->enabled ? "true" : "false");
> + printf("size: %" PRId64 "\n", bitmap->size);
> + printf("granularity: %" PRId64 "\n", bitmap->granularity);
> + printf("dirty regions begin:\n");
> +
> +void qmp_block_dirty_bitmap_print(const char *node_ref, const char *name,
> + Error **errp)
> +{
> + BdrvDirtyBitmap *bitmap;
> +
> + bitmap = block_dirty_bitmap_lookup(node_ref, name, NULL, errp);
> + if (!bitmap) {
> + return;
> + }
> +
> + bdrv_print_dirty_bitmap(bitmap);
Won't work. You cannot assume that stdout is usable when invoked from
QMP. The only sane thing to do is to bundle up the structured data into
JSON, pass that back over the QMP connection, and let the client decide
how to print it.
I'm opposed to adding this command as-is.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH RFC v2 0/8] Dirty bitmaps migration, Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 3/8] block: BdrvDirtyBitmap serialization interface, Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 6/8] block: add bdrv_next_dirty_bitmap(), Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 4/8] block: add dirty-dirty bitmaps, Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 2/8] hbitmap: serialization, Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 7/8] migration: add dirty parameter, Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 5/8] block: add bdrv_dirty_bitmap_enabled(), Vladimir Sementsov-Ogievskiy, 2015/01/27
- [Qemu-devel] [PATCH RFC v2 1/8] qmp: print dirty bitmap, Vladimir Sementsov-Ogievskiy, 2015/01/27
- Re: [Qemu-devel] [PATCH RFC v2 1/8] qmp: print dirty bitmap,
Eric Blake <=
- [Qemu-devel] [PATCH RFC v2 8/8] migration: add migration/dirty-bitmap.c, Vladimir Sementsov-Ogievskiy, 2015/01/27