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>