From: Ian Jackson Date: Wed, 23 Sep 2009 14:07:47 +0000 (+0100) Subject: allow logdirty commands while paused (unbreaks 60dbe1+8f09f4) X-Git-Tag: xen-4.0.0-rc1~30 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=743edef44f1d0da792aeb38a33bf468a4596f730;p=qemu-xen-4.2-testing.git allow logdirty commands while paused (unbreaks 60dbe1+8f09f4) 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 --- diff --git a/xenstore.c b/xenstore.c index e09125954..4dcc4d105 100644 --- a/xenstore.c +++ b/xenstore.c @@ -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;