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

Re: [Xen-devel] [PATCH] xend: destroy restored domain when its device doesn't exist



The breakage of migration to localhost happens on xen-3.4 only.
xen-4.0 is OK since c/s 20080 fixed it.
So my patch can be applied to xen-4.0.
I attach it again.

Thanks,
Kouya

Kouya Shimura writes:
> Sorry, this patch breaks migration to localhost.
> Let me think about it.
> 
> -- Kouya
> 
> Kouya Shimura writes:
> > A migrated domain keeps on running even though its disk doesn't exist.
> > This situation must be undesirable.
> > 
> > Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
> > 
> > diff -r 36159ea86bbd tools/python/xen/xend/XendCheckpoint.py
> > --- a/tools/python/xen/xend/XendCheckpoint.py       Tue Jan 19 13:59:28 
> > 2010 +0000
> > +++ b/tools/python/xen/xend/XendCheckpoint.py       Tue Jan 26 13:49:28 
> > 2010 +0900
> > @@ -337,19 +337,18 @@ def restore(xd, fd, dominfo = None, paus
> >  
> >          try:
> >              dominfo.waitForDevices() # Wait for backends to set up
> > -        except Exception, exn:
> > -            log.exception(exn)
> > -
> > -        if lock:
> > -            XendDomain.instance().domains_lock.acquire()
> > +        finally:
> > +            if lock:
> > +                XendDomain.instance().domains_lock.acquire()
> >  
> >          if not paused:
> >              dominfo.unpause()
> >  
> >          return dominfo
> > -    except:
> > +    except Exception, exn:
> >          dominfo.destroy()
> > -        raise
> > +        log.exception(exn)
> > +        raise exn
> >  
> >  
> >  class RestoreInputHandler:
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

A migrated domain keeps on running even though its disk doesn't exist.
This situation must be undesirable.

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r 2636e5619708 tools/python/xen/xend/XendCheckpoint.py
--- a/tools/python/xen/xend/XendCheckpoint.py   Tue Jan 26 15:54:40 2010 +0000
+++ b/tools/python/xen/xend/XendCheckpoint.py   Wed Jan 27 10:49:04 2010 +0900
@@ -344,19 +344,18 @@ def restore(xd, fd, dominfo = None, paus
 
         try:
             dominfo.waitForDevices() # Wait for backends to set up
-        except Exception, exn:
-            log.exception(exn)
-
-        if lock:
-            XendDomain.instance().domains_lock.acquire()
+        finally:
+            if lock:
+                XendDomain.instance().domains_lock.acquire()
 
         if not paused:
             dominfo.unpause()
 
         return dominfo
-    except:
+    except Exception, exn:
         dominfo.destroy()
-        raise
+        log.exception(exn)
+        raise exn
 
 
 class RestoreInputHandler:
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.