From: Cole Robinson Date: Mon, 17 May 2010 16:48:47 +0000 (-0400) Subject: qemu: Don't deny ShutdownVMDaemon for non-running VMs X-Git-Tag: v0.8.2~225 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=348c6fc0ab700135f0f5ab434ad2b61958cf0f95;p=thirdparty%2Flibvirt.git qemu: Don't deny ShutdownVMDaemon for non-running VMs Clients that require this already seem to do so. Calling this function with pid < 1 also should not cause problems. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 7abf5a00a2..d387e694af 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3604,10 +3604,8 @@ static void qemudShutdownVMDaemon(struct qemud_driver *driver, virDomainDefPtr def; int i; - if (!virDomainObjIsActive(vm)) - return; - - VIR_DEBUG("Shutting down VM '%s' migrated=%d", vm->def->name, migrated); + VIR_DEBUG("Shutting down VM '%s' pid=%d migrated=%d", + vm->def->name, vm->pid, migrated); /* This method is routinely used in clean up paths. Disable error * reporting so we don't squash a legit error. */ @@ -3630,6 +3628,7 @@ static void qemudShutdownVMDaemon(struct qemud_driver *driver, } } + /* This will safely handle a non-running guest with pid=0 or pid=-1*/ if (virKillProcess(vm->pid, 0) == 0 && virKillProcess(vm->pid, SIGTERM) < 0) virReportSystemError(errno,