[libvirt] [PATCH] qemu: Avoid loop of fake reboots

Once virDomainReboot is called for a domain, guest OS initiated shutdown would always result in reboot instead of shutdown. Only virDomainShutdown would actually shutd such domain down. That's because we forgot to reset fakeReboot flag once we asked the domain to reboot. --- src/qemu/qemu_process.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 3baaa19..bd49b21 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -445,6 +445,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_UNUSED, priv->gotShutdown = true; if (priv->fakeReboot) { + priv->fakeReboot = false; virDomainObjRef(vm); virThread th; if (virThreadCreate(&th, -- 1.7.6.1

On 09/21/2011 08:08 AM, Jiri Denemark wrote:
Once virDomainReboot is called for a domain, guest OS initiated shutdown would always result in reboot instead of shutdown. Only virDomainShutdown would actually shutd such domain down. That's because we forgot to reset fakeReboot flag once we asked the domain to reboot. --- src/qemu/qemu_process.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 3baaa19..bd49b21 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -445,6 +445,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
priv->gotShutdown = true; if (priv->fakeReboot) { + priv->fakeReboot = false;
ACK. Looks like another code path similar to the bug fixed in c2e9fab2. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

On Wed, Sep 21, 2011 at 08:17:32 -0600, Eric Blake wrote:
On 09/21/2011 08:08 AM, Jiri Denemark wrote:
Once virDomainReboot is called for a domain, guest OS initiated shutdown would always result in reboot instead of shutdown. Only virDomainShutdown would actually shutd such domain down. That's because we forgot to reset fakeReboot flag once we asked the domain to reboot. --- src/qemu/qemu_process.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 3baaa19..bd49b21 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -445,6 +445,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
priv->gotShutdown = true; if (priv->fakeReboot) { + priv->fakeReboot = false;
ACK. Looks like another code path similar to the bug fixed in c2e9fab2.
Yep. Thanks and pushed. Jirka
participants (2)
-
Eric Blake
-
Jiri Denemark