]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Drop priv->gotShutdown
authorJiri Denemark <jdenemar@redhat.com>
Wed, 7 Nov 2018 13:40:57 +0000 (14:40 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 12 Nov 2018 11:15:31 +0000 (12:15 +0100)
The gotShutdown bool has been redundant since we started setting
VIR_DOMAIN_SHUTDOWN state after receiving SHUTDOWN event from QEMU.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/qemu/qemu_domain.h
src/qemu/qemu_driver.c
src/qemu/qemu_process.c

index 554435e0a9767a7363ce0085a51d49f026a3ef49..87de433b223dc0b5101e31b1b395c09c525eace8 100644 (file)
@@ -286,7 +286,6 @@ struct _qemuDomainObjPrivate {
     qemuAgentPtr agent;
     bool agentError;
 
-    bool gotShutdown;
     bool beingDestroyed;
     char *pidfile;
 
index 9f71641dfa133df339157b10958cf5c18c0baa3b..09e04b8544e4f312d483116ea0d2348b0ce1b5e8 100644 (file)
@@ -4748,7 +4748,8 @@ processMonitorEOFEvent(virQEMUDriverPtr driver,
         goto endjob;
     }
 
-    if (priv->monJSON && !priv->gotShutdown) {
+    if (priv->monJSON &&
+        virDomainObjGetState(vm, NULL) != VIR_DOMAIN_SHUTDOWN) {
         VIR_DEBUG("Monitor connection to '%s' closed without SHUTDOWN event; "
                   "assuming the domain crashed", vm->def->name);
         eventReason = VIR_DOMAIN_EVENT_STOPPED_FAILED;
index fc02c4779e234cdad92e3866986d09aef621507d..185092391483425a167059805b67ab1e2a4d13a6 100644 (file)
@@ -491,7 +491,6 @@ qemuProcessFakeReboot(void *opaque)
                            "%s", _("resume operation failed"));
         goto endjob;
     }
-    priv->gotShutdown = false;
 
     if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0) {
         VIR_WARN("Unable to save status on vm %s after state change",
@@ -578,7 +577,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
     virObjectLock(vm);
 
     priv = vm->privateData;
-    if (priv->gotShutdown) {
+    if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_SHUTDOWN) {
         VIR_DEBUG("Ignoring repeated SHUTDOWN event from domain %s",
                   vm->def->name);
         goto unlock;
@@ -587,7 +586,6 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
                   vm->def->name);
         goto unlock;
     }
-    priv->gotShutdown = true;
 
     VIR_DEBUG("Transitioned guest %s to shutdown state",
               vm->def->name);
@@ -5980,7 +5978,6 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
     priv->monJSON = true;
     priv->monError = false;
     priv->monStart = 0;
-    priv->gotShutdown = false;
     priv->runningReason = VIR_DOMAIN_RUNNING_UNKNOWN;
 
     VIR_DEBUG("Updating guest CPU definition");
@@ -7394,8 +7391,6 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
     monConfig = NULL;
     priv->monJSON = monJSON;
 
-    priv->gotShutdown = false;
-
     /* Attaching to running QEMU so we need to detect whether it was started
      * with -no-reboot. */
     qemuProcessPrepareAllowReboot(vm);