]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix value of 'device' argument for block-commit
authorPeter Krempa <pkrempa@redhat.com>
Mon, 20 Jan 2020 12:19:43 +0000 (13:19 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 24 Jan 2020 12:40:36 +0000 (13:40 +0100)
When using blockdev configurations the 'device' argument of
'blockdev-commit' must correspond to the topmost node in the block node
graph. Libvirt didn't do this properly in case when 'copy_on_read'
option was enabled on the disk.

Use qemuDomainDiskGetTopNodename to fix it when calling block-commit.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_driver.c

index 9e2a94306c256195228437869daa1e82281dc3d7..0b23c747cefadb6eb70f5ca5ab585c6900f54f6b 100644 (file)
@@ -18813,7 +18813,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
         jobname = job->name;
         nodetop = topSource->nodeformat;
         nodebase = baseSource->nodeformat;
-        device = disk->src->nodeformat;
+        device = qemuDomainDiskGetTopNodename(disk);
         if (!backingPath && top_parent &&
             !(backingPath = qemuBlockGetBackingStoreString(baseSource)))
             goto endjob;