From: Peter Krempa Date: Tue, 9 Sep 2014 15:15:34 +0000 (+0200) Subject: qemu: dump: Resume CPUs only when the VM is still alive X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=692c4ea673d05ca9fda0f81789d4e93c68e9655f;p=libvirt.git 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. --- 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")); + } } }