From: Peter Krempa Date: Tue, 12 Aug 2014 12:31:26 +0000 (+0200) Subject: qemu: managedsave: Check that VM is alive after entering async job X-Git-Tag: v1.2.8-rc1~199 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fe9f61d549106eabc3e1682a3d0795ddba4e5bd;p=thirdparty%2Flibvirt.git qemu: managedsave: Check that VM is alive after entering async job Saving a shutoff VM doesn't make sense and libvirtd crashes while attempting to do that. Check that the domain is alive after entering the save async job. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1129207 --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2c3f179aed..b6219bab4d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3096,6 +3096,12 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, virDomainPtr dom, if (qemuDomainObjBeginAsyncJob(driver, vm, QEMU_ASYNC_JOB_SAVE) < 0) goto cleanup; + if (!virDomainObjIsActive(vm)) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("guest unexpectedly quit")); + goto endjob; + } + memset(&priv->job.info, 0, sizeof(priv->job.info)); priv->job.info.type = VIR_DOMAIN_JOB_UNBOUNDED;