]> xenbits.xensource.com Git - qemu-xen-4.3-testing.git/commitdiff
allow logdirty commands while paused (unbreaks 60dbe1+8f09f4)
authorIan Jackson <ian.jackson@eu.citrix.com>
Wed, 23 Sep 2009 14:07:47 +0000 (15:07 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 23 Sep 2009 14:07:47 +0000 (15:07 +0100)
60dbe1+8f09f4 breaks HVM live migration: 60dbe1 causes xc_save to
attempt to disable logdirty mode while qemu is paused. 8f09f4 disables
most commands, including logdirty, while the domain is paused. So
xc_save times out waiting for qemu to respond to the logdirty disable
command, and live migration fails. Logdirty commands issued while
paused should not affect the stability of ioemu.

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
xenstore.c

index e091259548d7ce5703d978653410579f7f1e550d..4dcc4d105959f84b9d7996f2728ebeaf944c8b10 100644 (file)
@@ -864,6 +864,11 @@ void xenstore_process_event(void *opaque)
         goto out;
     }
 
+    if (!strcmp(vec[XS_WATCH_TOKEN], "logdirty")) {
+        xenstore_process_logdirty_event();
+        goto out;
+    }
+
     /* if we are paused don't process anything else */
     if (xen_pause_requested)
         goto out;
@@ -874,11 +879,6 @@ void xenstore_process_event(void *opaque)
             xenstore_watch_callbacks[i].cb(vec[XS_WATCH_TOKEN],
                                            xenstore_watch_callbacks[i].opaque);
 
-    if (!strcmp(vec[XS_WATCH_TOKEN], "logdirty")) {
-        xenstore_process_logdirty_event();
-        goto out;
-    }
-
     if (strncmp(vec[XS_WATCH_TOKEN], "hd", 2) ||
         strlen(vec[XS_WATCH_TOKEN]) != 3)
         goto out;