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(a)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(a)redhat.com>