]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: blockjob: Don't base bitmap handling of active-layer block commit on QEMU_CAPS_...
authorPeter Krempa <pkrempa@redhat.com>
Thu, 16 Jul 2020 13:54:46 +0000 (15:54 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 21 Jul 2020 07:52:59 +0000 (09:52 +0200)
The handler finalizing the active layer block commit doesn't actually
reopen the file for active layer block commit, so the comment and check
are invalid.

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

index 0039bc0e9fdd35b2f7fa0c434200f9fa93010e2f..9b78733c53e77d1c63a7edf678b6ce36dd9cf162 100644 (file)
@@ -1101,7 +1101,8 @@ qemuBlockJobProcessEventCompletedCommitBitmaps(virDomainObjPtr vm,
     g_autoptr(virJSONValue) actions = NULL;
     bool active = job->type == QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT;
 
-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN))
+    if (!active &&
+        !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN))
         return 0;
 
     if (!(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, asyncJob)))
index d9c5f21f212f0415655364d63604461a43dd9c92..69fa2433f956595e19f6feafacfab24abc969e3c 100644 (file)
@@ -17387,11 +17387,7 @@ qemuDomainBlockPivot(virQEMUDriverPtr driver,
         break;
 
     case QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT:
-        /* we technically don't need reopen here, but we couldn't prepare
-         * the bitmaps if it wasn't present thus must skip this */
-        if (blockdev &&
-            virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN)) {
-
+        if (blockdev) {
             actions = virJSONValueNewArray();
 
             if (qemuMonitorTransactionBitmapAdd(actions,