提交 f781e276 编写于 作者: J Jim Fehlig 提交者: Daniel Veillard

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.
上级 3044433f
...@@ -131,6 +131,10 @@ if WITH_LXC ...@@ -131,6 +131,10 @@ if WITH_LXC
libvirtd_LDADD += ../src/libvirt_driver_lxc.la libvirtd_LDADD += ../src/libvirt_driver_lxc.la
endif endif
if WITH_XEN
libvirtd_LDADD += ../src/libvirt_driver_xen.la
endif
if WITH_LIBXL if WITH_LIBXL
libvirtd_LDADD += ../src/libvirt_driver_libxl.la libvirtd_LDADD += ../src/libvirt_driver_libxl.la
endif endif
......
...@@ -66,6 +66,9 @@ ...@@ -66,6 +66,9 @@
# ifdef WITH_LXC # ifdef WITH_LXC
# include "lxc/lxc_driver.h" # include "lxc/lxc_driver.h"
# endif # endif
# ifdef WITH_XEN
# include "xen/xen_driver.h"
# endif
# ifdef WITH_LIBXL # ifdef WITH_LIBXL
# include "libxl/libxl_driver.h" # include "libxl/libxl_driver.h"
# endif # endif
...@@ -382,6 +385,12 @@ static void daemonInitialize(void) ...@@ -382,6 +385,12 @@ static void daemonInitialize(void)
# ifdef WITH_NETCF # ifdef WITH_NETCF
virDriverLoadModule("interface"); virDriverLoadModule("interface");
# endif # endif
# ifdef WITH_XEN
virDriverLoadModule("xen");
# endif
# ifdef WITH_LIBXL
virDriverLoadModule("libxl");
# endif
# ifdef WITH_QEMU # ifdef WITH_QEMU
virDriverLoadModule("qemu"); virDriverLoadModule("qemu");
# endif # endif
...@@ -391,12 +400,6 @@ static void daemonInitialize(void) ...@@ -391,12 +400,6 @@ static void daemonInitialize(void)
# ifdef WITH_UML # ifdef WITH_UML
virDriverLoadModule("uml"); virDriverLoadModule("uml");
# endif # endif
# ifdef WITH_XEN
virDriverLoadModule("xen");
# endif
# ifdef WITH_LIBXL
virDriverLoadModule("libxl");
# endif
#else #else
# ifdef WITH_NETWORK # ifdef WITH_NETWORK
networkRegister(); networkRegister();
...@@ -416,6 +419,9 @@ static void daemonInitialize(void) ...@@ -416,6 +419,9 @@ static void daemonInitialize(void)
# ifdef WITH_NWFILTER # ifdef WITH_NWFILTER
nwfilterRegister(); nwfilterRegister();
# endif # endif
# ifdef WITH_XEN
xenRegister();
# endif
# ifdef WITH_LIBXL # ifdef WITH_LIBXL
libxlRegister(); libxlRegister();
# endif # endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册