]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuBackupBegin: Fix monitor access when rolling back due to failure
authorPeter Krempa <pkrempa@redhat.com>
Thu, 26 Mar 2020 14:37:44 +0000 (15:37 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 26 Mar 2020 16:56:30 +0000 (17:56 +0100)
The code attempting to clean up after a failed pull mode backup job
wrongly entered monitor but didn't clean up nor exit monitor due to a
logic bug. Fix the condition.

Introduced in a1521f84a53

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

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

index 8b66ee8d1f6afc45940a67ee71b216793f3b4541..9a056fa4071ac3abf2f37921ed68da5b78269c88 100644 (file)
@@ -894,7 +894,7 @@ qemuBackupBegin(virDomainObjPtr vm,
     qemuCheckpointRollbackMetadata(vm, chk);
 
     if (!job_started && nbd_running &&
-        qemuDomainObjEnterMonitorAsync(priv->driver, vm, QEMU_ASYNC_JOB_BACKUP) < 0) {
+        qemuDomainObjEnterMonitorAsync(priv->driver, vm, QEMU_ASYNC_JOB_BACKUP) == 0) {
         ignore_value(qemuMonitorNBDServerStop(priv->mon));
         ignore_value(qemuDomainObjExitMonitor(priv->driver, vm));
     }