From: Dmitry Andreev Date: Wed, 20 Jan 2016 13:10:09 +0000 (+0300) Subject: qemuDomainReboot: use fakeReboot=true only for acpi mode X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e2b86f580c1b9d7361f74b7abc9606281b6d6a3e;p=libvirt.git qemuDomainReboot: use fakeReboot=true only for acpi mode 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 --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8ccf68bbe9..e46404b82e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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)