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@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> With these two hunks squashed in Reviewed-by: Jiri Denemark <jdenemar@xxxxxxxxxx>