From e2b86f580c1b9d7361f74b7abc9606281b6d6a3e Mon Sep 17 00:00:00 2001 From: Dmitry Andreev Date: Wed, 20 Jan 2016 16:10:09 +0300 Subject: [PATCH] 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 --- src/qemu/qemu_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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) -- 2.39.5