aboutsummaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorJim Fehlig <jfehlig@suse.com>2012-08-30 12:53:02 -0600
committerDaniel Veillard <veillard@redhat.com>2012-08-31 10:28:55 +0800
commitf781e27653c7e50747c414a916c788cfc81760c4 (patch)
treed1884fdd9eef9e00c063f72813dea47ec051aaf3 /daemon
parentFix issue of PF brought down if VF is 8021.Qbh and pci passthrough (diff)
downloadlibvirt-f781e27653c7e50747c414a916c788cfc81760c4.tar.gz
libvirt-f781e27653c7e50747c414a916c788cfc81760c4.tar.bz2
libvirt-f781e27653c7e50747c414a916c788cfc81760c4.zip
Fix xen driver following changes to make it stateful
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.
Diffstat (limited to 'daemon')
-rw-r--r--daemon/Makefile.am4
-rw-r--r--daemon/libvirtd.c18
2 files changed, 16 insertions, 6 deletions
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index b00fc13bc..b45349c1b 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -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
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 352d4fed1..6973df646 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -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