From 692c4ea673d05ca9fda0f81789d4e93c68e9655f Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 9 Sep 2014 17:15:34 +0200 Subject: [PATCH] qemu: dump: Resume CPUs only when the VM is still alive Check if the VM is alive after we possibly called into monitor to reset the guest. --- src/qemu/qemu_driver.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2478520573..a8cda43226 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3681,15 +3681,17 @@ qemuDomainCoreDumpWithFormat(virDomainPtr dom, qemuDomainObjExitMonitor(driver, vm); } - if (resume && qemuProcessStartCPUs(driver, vm, dom->conn, - VIR_DOMAIN_RUNNING_UNPAUSED, - QEMU_ASYNC_JOB_DUMP) < 0) { - event = virDomainEventLifecycleNewFromObj(vm, - VIR_DOMAIN_EVENT_SUSPENDED, - VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR); - if (virGetLastError() == NULL) - virReportError(VIR_ERR_OPERATION_FAILED, - "%s", _("resuming after dump failed")); + if (resume && virDomainObjIsActive(vm)) { + if (qemuProcessStartCPUs(driver, vm, dom->conn, + VIR_DOMAIN_RUNNING_UNPAUSED, + QEMU_ASYNC_JOB_DUMP) < 0) { + event = virDomainEventLifecycleNewFromObj(vm, + VIR_DOMAIN_EVENT_SUSPENDED, + VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR); + if (virGetLastError() == NULL) + virReportError(VIR_ERR_OPERATION_FAILED, + "%s", _("resuming after dump failed")); + } } }