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

[Xen-changelog] [xen-unstable] Wait for device-bringup inside domain_start, outside the scope of the



# HG changeset patch
# User Ewan Mellor <ewan@xxxxxxxxxxxxx>
# Node ID bd5ebf33f222132d4e4fa37fde8ea67a4e77c1b8
# Parent  33951d547223c368a6dfdaad59e118e25a24adcf
Wait for device-bringup inside domain_start, outside the scope of the
domains_lock.  This makes the VM.start call blocking, but allows xm list to
work while it is blocked.  Move the handling of start_paused out of
XendDomainInfo.start as part of this.

Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx>
---
 tools/python/xen/xend/XendDomain.py     |    5 ++++-
 tools/python/xen/xend/XendDomainInfo.py |    4 +---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff -r 33951d547223 -r bd5ebf33f222 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py       Tue Nov 28 17:28:43 2006 +0000
+++ b/tools/python/xen/xend/XendDomain.py       Tue Nov 28 18:00:45 2006 +0000
@@ -908,10 +908,13 @@ class XendDomain:
             if dominfo.state != DOM_STATE_HALTED:
                 raise XendError("Domain is already running")
             
-            dominfo.start(is_managed = True, start_paused = start_paused)
+            dominfo.start(is_managed = True)
             self._add_domain(dominfo)
         finally:
             self.domains_lock.release()
+        dominfo.waitForDevices()
+        if not start_paused:
+            dominfo.unpause()
         
 
     def domain_delete(self, domid):
diff -r 33951d547223 -r bd5ebf33f222 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Tue Nov 28 17:28:43 2006 +0000
+++ b/tools/python/xen/xend/XendDomainInfo.py   Tue Nov 28 18:00:45 2006 +0000
@@ -425,7 +425,7 @@ class XendDomainInfo:
     #
 
 
-    def start(self, is_managed = False, start_paused = True):
+    def start(self, is_managed = False):
         """Attempts to start the VM by do the appropriate
         initialisation if it not started.
         """
@@ -439,8 +439,6 @@ class XendDomainInfo:
                 self._storeDomDetails()
                 self._registerWatches()
                 self.refreshShutdown()
-                if not start_paused:
-                    self.unpause()
 
                 # save running configuration if XendDomains believe domain is
                 # persistent

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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