]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix xen driver following changes to make it stateful
authorJim Fehlig <jfehlig@suse.com>
Thu, 30 Aug 2012 18:53:02 +0000 (12:53 -0600)
committerDaniel Veillard <veillard@redhat.com>
Fri, 31 Aug 2012 02:28:55 +0000 (10:28 +0800)
Recent work to improve support for loadable driver modules introduced
a regression in the xen driver.  The legacy xen driver is now a
stateful, libvirtd driver but was not being registered when building
without driver modules.

A slight behavior change was also noted in the xen drivers when
built as driver modules.  Previously, explicitly specifying a
connection URI was not necessary, but now

Compiled against library: libvirt 0.10.0
Using library: libvirt 0.10.0
Using API: QEMU 0.10.0
error: failed to get the hypervisor version
error: internal error Cannot find suitable emulator for x86_64

The xen drivers need to be registered before the qemu driver since
the qemu driver will return success with a null connection URI.
This ordering is safe since the xen drivers will decline when not
running the xen kernel.

daemon/Makefile.am
daemon/libvirtd.c

index b00fc13bce764ed3b962f6c2860749f11741be32..b45349c1bd00f1a3dff02ed44752d7f74c80f307 100644 (file)
@@ -131,6 +131,10 @@ if WITH_LXC
     libvirtd_LDADD += ../src/libvirt_driver_lxc.la
 endif
 
+if WITH_XEN
+    libvirtd_LDADD += ../src/libvirt_driver_xen.la
+endif
+
 if WITH_LIBXL
     libvirtd_LDADD += ../src/libvirt_driver_libxl.la
 endif
index 352d4fed15ff981766aa8a70e4e7dc12d53ae612..6973df646195109f80eb2758c952d1763b683363 100644 (file)
@@ -66,6 +66,9 @@
 # ifdef WITH_LXC
 #  include "lxc/lxc_driver.h"
 # endif
+# ifdef WITH_XEN
+#  include "xen/xen_driver.h"
+# endif
 # ifdef WITH_LIBXL
 #  include "libxl/libxl_driver.h"
 # endif
@@ -382,6 +385,12 @@ static void daemonInitialize(void)
 # ifdef WITH_NETCF
     virDriverLoadModule("interface");
 # endif
+# ifdef WITH_XEN
+    virDriverLoadModule("xen");
+# endif
+# ifdef WITH_LIBXL
+    virDriverLoadModule("libxl");
+# endif
 # ifdef WITH_QEMU
     virDriverLoadModule("qemu");
 # endif
@@ -391,12 +400,6 @@ static void daemonInitialize(void)
 # ifdef WITH_UML
     virDriverLoadModule("uml");
 # endif
-# ifdef WITH_XEN
-    virDriverLoadModule("xen");
-# endif
-# ifdef WITH_LIBXL
-    virDriverLoadModule("libxl");
-# endif
 #else
 # ifdef WITH_NETWORK
     networkRegister();
@@ -416,6 +419,9 @@ static void daemonInitialize(void)
 # ifdef WITH_NWFILTER
     nwfilterRegister();
 # endif
+# ifdef WITH_XEN
+    xenRegister();
+# endif
 # ifdef WITH_LIBXL
     libxlRegister();
 # endif