diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f833655b8a..84ef4dd078 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9027,7 +9027,6 @@ qemuDomainSnapshotCreateSingleDiskActive(struct qemud_driver *driver, VIR_WARN("Unable to release lock on %s", source); goto cleanup; } - need_unlink = false; disk->src = origsrc; origsrc = NULL; @@ -9041,6 +9040,7 @@ qemuDomainSnapshotCreateSingleDiskActive(struct qemud_driver *driver, goto cleanup; /* Update vm in place to match changes. */ + need_unlink = false; VIR_FREE(disk->src); disk->src = source; source = NULL; diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index 2f31d990e9..4774df9986 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -3064,7 +3064,8 @@ qemuMonitorTextDiskSnapshot(qemuMonitorPtr mon, const char *device, goto cleanup; } - if (strstr(reply, "error while creating qcow2") != NULL) { + if (strstr(reply, "error while creating qcow2") != NULL || + strstr(reply, "unknown command:") != NULL) { qemuReportError(VIR_ERR_OPERATION_FAILED, _("Failed to take snapshot: %s"), reply); goto cleanup;