qemu_migration: Don't mangle NBD part of migration cookie

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: 518be41aaa
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Michal Privoznik 2020-10-26 11:28:13 +01:00
parent b4682b7333
commit 67e4c24ba1

View 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);