]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: driver: Allow passing disk target as top image with block commit
authorPeter Krempa <pkrempa@redhat.com>
Wed, 17 May 2017 15:16:15 +0000 (17:16 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 17 May 2017 15:16:15 +0000 (17:16 +0200)
Since we allow active layer block commit the users are allowed to commit
the top of the chain (e.g. vda) into the backing image. The API would
not accept that parameter, as it tried to look up the image in the
backing chain.

Add the ability to use the top level image target name explicitly as the
top image of the block commit operation.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1451394

src/qemu/qemu_driver.c

index 1c4873e4858f12bd2bbcf5592064d6c792992258..36d8a701acd78e6ff5f982b8de5ffbfb94f270fe 100644 (file)
@@ -16942,7 +16942,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
     if (qemuDomainDiskBlockJobIsActive(disk))
         goto endjob;
 
-    if (!top)
+    if (!top || STREQ(top, disk->dst))
         topSource = disk->src;
     else if (virStorageFileParseChainIndex(disk->dst, top, &topIndex) < 0 ||
              !(topSource = virStorageFileChainLookup(disk->src, NULL,