[PATCH 2/3] qemu: Update to new design of 'block-export-add'

Eric Blake eblake at redhat.com
Mon Oct 26 13:41:49 UTC 2020

On 10/26/20 8:19 AM, Peter Krempa wrote:
> qemu decided to modify the arguments of 'block-export-add' to include an
> array of bitmaps rather than a single bitmap.
> Since we've added the code prior to qemu setting the interface in stone
> and thus it will be changed incompatibly and we already have tests for
> the new interface we need to update the code and qemu capabilities data
> at the same time.
> Use a array of bitmaps as the 'bitmaps' argument instead of 'bitmap' and
> bump qemu capabilities for the upcoming 5.2.0 release to commit TBD

The TBD proves that qemu is still in a state of flux; I'll be posting v6
of those patches today, but if they make it into soft freeze, we have
something to use.  Whether that timing then works for you to get it into
this month's libvirt release, or whether you defer this patch to next
month, I think we'll be okay (the key part is that we avoid a libvirt
release targetting an unreleased unstable qemu interface, which patch
1/3 accomplished).

> +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies
> @@ -21,7 +21,7 @@
>        "minor": 1,
>        "major": 5
>      },
> -    "package": "v5.1.0-2207-g96292515c0"
> +    "package": "v5.1.0-2477-gbb564b7029-dirty"

This part is fishy; but I presume it will be cleaned up when you resolve
the TBD in the commit message.

> +++ b/tests/qemumonitorjsontest.c
> @@ -3052,11 +3052,12 @@ testQemuMonitorJSONBlockExportAdd(const void *opaque)
>      const testGenericData *data = opaque;
>      g_autoptr(qemuMonitorTest) test = NULL;
>      g_autoptr(virJSONValue) nbddata = NULL;
> +    const char *bitmaps[] = { "bitmap1", "bitmap2", NULL };
>      if (!(test = qemuMonitorTestNewSchema(data->xmlopt, data->schema)))
>          return -1;
> -    if (!(nbddata = qemuBlockExportGetNBDProps("nodename", "exportname", true, "bitmapname")))
> +    if (!(nbddata = qemuBlockExportGetNBDProps("nodename", "exportname", true, bitmaps)))
>          return -1;
>      if (qemuMonitorTestAddItem(test, "block-export-add", "{\"return\":{}}") < 0)

Still waiting on qemu, but once that is in, the code changes plus your
respin to fix the commit message and testsuite are good enough to add:

Reviewed-by: Eric Blake <eblake at redhat.com>

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

More information about the libvir-list mailing list