summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2020-03-26 15:37:44 +0100
committerPeter Krempa <pkrempa@redhat.com>2020-03-26 17:56:30 +0100
commite060b0624d1b78438b759cc5a25da87b28c9736c (patch)
treea32e1dbd800ccde7b57b16a45b66b99822ebbe80
parente05dd1abdc3b3eeac6e12ab105e56138d783af2a (diff)
downloadlibvirt-e060b0624d1b78438b759cc5a25da87b28c9736c.tar.gz
qemuBackupBegin: Fix monitor access when rolling back due to failure
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>
-rw-r--r--src/qemu/qemu_backup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c
index 8b66ee8d1f..9a056fa407 100644
--- a/src/qemu/qemu_backup.c
+++ b/src/qemu/qemu_backup.c
@@ -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));
}