diff options
author | Jim Fehlig <jfehlig@suse.com> | 2012-08-30 12:53:02 -0600 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2012-08-31 10:28:55 +0800 |
commit | f781e27653c7e50747c414a916c788cfc81760c4 (patch) | |
tree | d1884fdd9eef9e00c063f72813dea47ec051aaf3 /daemon | |
parent | Fix issue of PF brought down if VF is 8021.Qbh and pci passthrough (diff) | |
download | libvirt-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.am | 4 | ||||
-rw-r--r-- | daemon/libvirtd.c | 18 |
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 |