
On Fri, Feb 12, 2021 at 09:30:25 +0100, Peter Krempa wrote:
On Fri, Feb 12, 2021 at 08:57:08 +0100, Jiri Denemark wrote:
On Thu, Feb 11, 2021 at 16:37:41 +0100, Peter Krempa wrote:
The capability represents qemu's ability to setup mappings for migrating block dirty bitmaps and is based on presence of the 'transform' property of the 'block-bitmap-mapping' property of 'migrate-set-parameters' QMP command.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + 2 files changed, 3 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index ccf810ff96..38555dde98 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -616,6 +616,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "vhost-user-blk", "cpu-max", "memory-backend-file.x-use-canonical-path-for-ramblock-id", + "migration-param.block-bitmap-mapping", );
@@ -1549,6 +1550,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "migrate-set-parameters/arg-type/xbzrle-cache-size", QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE }, { "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT }, { "netdev_add/arg-type/+vhost-vdpa", QEMU_CAPS_NETDEV_VHOST_VDPA }, + { "migrate-set-parameters/arg-type/block-bitmap-mapping/transform", QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING }, };
So how is it possible this change is not reflected in tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml after the previous patch updated QEMU replies? Interestingly enough, tests pass after this patch so either the capability detection is not working or QEMU replies do not actually contain what you're looking for here.
Oops, there's a mistake in the query string where I've missed 'bitmaps' subcomponent. Well actually I've already noticed this before, but squashed the changes to a patch that I've ultimately removed from the series ...
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c7ab144a8e..0e0926d0e5 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1550,7 +1550,8 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "migrate-set-parameters/arg-type/xbzrle-cache-size", QEMU_CAPS_MIGRATION_PARAM_XBZRLE_CACHE_SIZE }, { "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT }, { "netdev_add/arg-type/+vhost-vdpa", QEMU_CAPS_NETDEV_VHOST_VDPA }, - { "migrate-set-parameters/arg-type/block-bitmap-mapping/transform", QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING }, + { "migrate-set-parameters/arg-type/block-bitmap-mapping/bitmaps/transform", + QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING }, };
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index f2ec32e46b..b9a36cb71e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -255,6 +255,7 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='migration-param.block-bitmap-mapping'/> <version>5002050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100242</microcodeVersion>
With these two hunks squashed in Reviewed-by: Jiri Denemark <jdenemar@redhat.com>