]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_migration: Don't mangle NBD part of migration cookie
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 26 Oct 2020 10:28:13 +0000 (11:28 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 26 Oct 2020 12:08:57 +0000 (13:08 +0100)
In recent commit v6.8.0-135-g518be41aaa the formatting of NBD
into migration cookie was moved into a separate function and with
it it was switched from direct printing into the output buffer to
virXMLFormatElement(). But there was a typo. The
virXMLFormatElement() accepts two buffers on input, one for
element attributes and another for child elements. Well, the line
that was supposed to add NBD port into the attributes buffer
printed the attribute directly into the output buffer which
produced this mangled XML:

<qemu-migration>
   port='49153'<nbd>
    <disk target='vda' capacity='8589934592'/>
    <disk target='vdb' capacity='12746752000'/>
  </nbd>
</qemu-migration>

Changing the incriminated line to print into the attributes
buffer fixes the problem.

Fixes: 518be41aaa3ebaac5f2307f268d24dc1b40b6b5c
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_migration_cookie.c

index 708c2cced7a2018ccc5cc9a0cde9d2539f902220..39445ef8de61bd509ab8940f41bc96ca7fceb949 100644 (file)
@@ -747,7 +747,7 @@ qemuMigrationCookieNBDXMLFormat(qemuMigrationCookieNBDPtr nbd,
     size_t i;
 
     if (nbd->port)
-        virBufferAsprintf(buf, " port='%d'", nbd->port);
+        virBufferAsprintf(&attrBuf, " port='%d'", nbd->port);
 
     for (i = 0; i < nbd->ndisks; i++) {
         virBufferEscapeString(&childBuf, "<disk target='%s'", nbd->disks[i].target);