libvirt/f781e276-xen-driver-fix.patch

92 lines
2.7 KiB
Diff

commit f781e27653c7e50747c414a916c788cfc81760c4
Author: Jim Fehlig <jfehlig@suse.com>
Date: Thu Aug 30 12:53:02 2012 -0600
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.
Index: libvirt-0.9.13/daemon/Makefile.am
===================================================================
--- libvirt-0.9.13.orig/daemon/Makefile.am
+++ libvirt-0.9.13/daemon/Makefile.am
@@ -132,6 +132,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: libvirt-0.9.13/daemon/libvirtd.c
===================================================================
--- libvirt-0.9.13.orig/daemon/libvirtd.c
+++ libvirt-0.9.13/daemon/libvirtd.c
@@ -65,6 +65,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
@@ -381,6 +384,12 @@ static void daemonInitialize(void)
# ifdef WITH_INTERFACE
virDriverLoadModule("interface");
# endif
+# ifdef WITH_XEN
+ virDriverLoadModule("xen");
+# endif
+# ifdef WITH_LIBXL
+ virDriverLoadModule("libxl");
+# endif
# ifdef WITH_QEMU
virDriverLoadModule("qemu");
# endif
@@ -390,12 +399,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();
@@ -415,6 +418,9 @@ static void daemonInitialize(void)
# ifdef WITH_NWFILTER
nwfilterRegister();
# endif
+# ifdef WITH_XEN
+ xenRegister();
+# endif
# ifdef WITH_LIBXL
libxlRegister();
# endif