diff --git a/AUTHORS b/AUTHORS index 8478dd3e14..4d383bc40f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -55,7 +55,7 @@ Patches have also been contributed by: Chris Wrigh Ben Guthro Shigeki Sakamoto - + Gerd von Egidy [....send patches to get your name here....] diff --git a/ChangeLog b/ChangeLog index acac38d61e..4b08206922 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Dec 2 11:34:22 GMT 2008 Daniel P. Berrange + + * 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 * src/uml_driver.c: Fix recording of watch number to make diff --git a/qemud/qemud.c b/qemud/qemud.c index 483e92d611..7d7a8ca325 100644 --- a/qemud/qemud.c +++ b/qemud/qemud.c @@ -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,