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@xxxxxxxxxx> > > --- > > 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>