libvirt/SOURCES/libvirt-qemuBackupBegin-Fix...

44 lines
1.6 KiB
Diff

From 54b47c1f5bf860e2fadeb17a954a109aafd62067 Mon Sep 17 00:00:00 2001
Message-Id: <54b47c1f5bf860e2fadeb17a954a109aafd62067@dist-git>
From: Peter Krempa <pkrempa@redhat.com>
Date: Thu, 26 Mar 2020 18:25:12 +0100
Subject: [PATCH] qemuBackupBegin: Fix monitor access when rolling back due to
failure
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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>
(cherry picked from commit e060b0624d1b78438b759cc5a25da87b28c9736c)
Message-Id: <95ad49e5316e5f9dd992e463bc7536e3046140d4.1585243469.git.pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
src/qemu/qemu_backup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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));
}
--
2.26.0