]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix driver ordering to make domain autostart work (Gerd von Egidy)
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 2 Dec 2008 11:37:55 +0000 (11:37 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 2 Dec 2008 11:37:55 +0000 (11:37 +0000)
AUTHORS
ChangeLog
qemud/qemud.c

diff --git a/AUTHORS b/AUTHORS
index 8478dd3e144d99e9168858f00bfc1a85bff8bb05..4d383bc40f07c1c1c7560693696226036795e896 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -55,7 +55,7 @@ Patches have also been contributed by:
   Chris Wrigh          <chrisw@redhat.com>
   Ben Guthro           <bguthro@virtualiron.com>
   Shigeki Sakamoto     <fj0588di@aa.jp.fujitsu.com>
-
+  Gerd von Egidy       <lists@egidy.de>
 
   [....send patches to get your name here....]
 
index acac38d61e8f80282bbeb405f2577892db4033e7..4b08206922607426ac57c24a95f4d1be6de84afa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Dec 2 11:34:22 GMT 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * qemud/qemud.c: Registering network, storage & nodedev drivers
+       before any domain drivers, so domain autostart can rely on
+       network/storage autostarted objects. Patch from Gerd von Egidy
+
 Tue Dec 2 11:21:22 GMT 2008 Daniel P. Berrange <berrange@redhat.com>
 
        * src/uml_driver.c: Fix recording of watch number to make
index 483e92d6117ab8ab48fb5287fe422dacffab9120..7d7a8ca325c8d94a8fe702b9f057a093e36a73c3 100644 (file)
@@ -755,28 +755,26 @@ static struct qemud_server *qemudInitialize(int sigread) {
 
     virInitialize();
 
+    /*
+     * Note that the order is important: the first ones have a higher
+     * priority when calling virStateInitialize. We must register
+     * the network, storage and nodedev drivers before any domain
+     * drivers, since their resources must be auto-started before
+     * any domains can be auto-started.
+     */
 #ifdef WITH_DRIVER_MODULES
     /* We don't care if any of these fail, because the whole point
      * is to allow users to only install modules they want to use.
      * If they try to use a open a connection for a module that
      * is not loaded they'll get a suitable error at that point
      */
-    virDriverLoadModule("qemu");
-    virDriverLoadModule("lxc");
-    virDriverLoadModule("uml");
     virDriverLoadModule("network");
     virDriverLoadModule("storage");
     virDriverLoadModule("nodedev");
+    virDriverLoadModule("qemu");
+    virDriverLoadModule("lxc");
+    virDriverLoadModule("uml");
 #else
-#ifdef WITH_QEMU
-    qemuRegister();
-#endif
-#ifdef WITH_LXC
-    lxcRegister();
-#endif
-#ifdef WITH_UML
-    umlRegister();
-#endif
 #ifdef WITH_NETWORK
     networkRegister();
 #endif
@@ -786,6 +784,15 @@ static struct qemud_server *qemudInitialize(int sigread) {
 #if defined(HAVE_HAL) || defined(HAVE_DEVKIT)
     nodedevRegister();
 #endif
+#ifdef WITH_QEMU
+    qemuRegister();
+#endif
+#ifdef WITH_LXC
+    lxcRegister();
+#endif
+#ifdef WITH_UML
+    umlRegister();
+#endif
 #endif
 
     virEventRegisterImpl(virEventAddHandleImpl,