qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/1] kvmclock: fix guest stop notification


From: Amit Shah
Subject: [Qemu-devel] [PATCH 1/1] kvmclock: fix guest stop notification
Date: Thu, 20 Sep 2012 13:55:20 +0530

Commit f349c12c0434e29c79ecde89029320c4002f7253 added the guest stop
notification, but it did it in a way that the stop notification would
never reach the kernel.  The kvm_vm_state_changed() function gets a
value of 0 for the 'running' parameter when the VM is stopped, making
all the code added previously dead code.

This patch reworks the code so that it's called when 'running' is 0,
which indicates the VM was stopped.

CC: Eric B Munson <address@hidden>
CC: Raghavendra K T <address@hidden>
CC: Andreas Färber <address@hidden>
CC: Marcelo Tosatti <address@hidden>
CC: Paolo Bonzini <address@hidden>
CC: Laszlo Ersek <address@hidden>
Signed-off-by: Amit Shah <address@hidden>
---
 hw/kvm/clock.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/hw/kvm/clock.c b/hw/kvm/clock.c
index 824b978..f3427eb 100644
--- a/hw/kvm/clock.c
+++ b/hw/kvm/clock.c
@@ -71,18 +71,19 @@ static void kvmclock_vm_state_change(void *opaque, int 
running,
 
     if (running) {
         s->clock_valid = false;
+        return;
+    }
 
-        if (!cap_clock_ctrl) {
-            return;
-        }
-        for (penv = first_cpu; penv != NULL; penv = penv->next_cpu) {
-            ret = kvm_vcpu_ioctl(penv, KVM_KVMCLOCK_CTRL, 0);
-            if (ret) {
-                if (ret != -EINVAL) {
-                    fprintf(stderr, "%s: %s\n", __func__, strerror(-ret));
-                }
-                return;
+    if (!cap_clock_ctrl) {
+        return;
+    }
+    for (penv = first_cpu; penv != NULL; penv = penv->next_cpu) {
+        ret = kvm_vcpu_ioctl(penv, KVM_KVMCLOCK_CTRL, 0);
+        if (ret) {
+            if (ret != -EINVAL) {
+                fprintf(stderr, "%s: %s\n", __func__, strerror(-ret));
             }
+            return;
         }
     }
 }
-- 
1.7.7.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]