]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuDomainReboot: use fakeReboot=true only for acpi mode
authorDmitry Andreev <dandreev@virtuozzo.com>
Wed, 20 Jan 2016 13:10:09 +0000 (16:10 +0300)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 21 Jan 2016 14:03:56 +0000 (15:03 +0100)
When acpi is used to reboot/shutdown qemu domain, qemu emits
SHUTDOWN event. Libvirt uses fakeReboot variable in order to
differentiate reboot or shutdown. fakeReboot value is reseted
to false after domain restart/reset.

When mode=agent is used to reboot qemu domain, qemu doesn't emit
SHUTDOWN event and libvirt doesn't reset fakeReboot value to false.
In this case next 'shutdown -h now' performs reboot. That's why
we don't need to set fakeReboot=true for mode=agent.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_driver.c

index 8ccf68bbe972aa5d27ffc3c159ce74508f264d73..e46404b82ef57b98d57f2de7d8e02c2c02009e3e 100644 (file)
@@ -2068,8 +2068,6 @@ qemuDomainReboot(virDomainPtr dom, unsigned int flags)
         goto endjob;
     }
 
-    qemuDomainSetFakeReboot(driver, vm, isReboot);
-
     if (useAgent) {
         qemuDomainObjEnterAgent(vm);
         ret = qemuAgentShutdown(priv->agent, agentFlag);
@@ -2096,6 +2094,7 @@ qemuDomainReboot(virDomainPtr dom, unsigned int flags)
 #if WITH_YAJL
         }
 #endif
+        qemuDomainSetFakeReboot(driver, vm, isReboot);
         qemuDomainObjEnterMonitor(driver, vm);
         ret = qemuMonitorSystemPowerdown(priv->mon);
         if (qemuDomainObjExitMonitor(driver, vm) < 0)