forked from pool/libvirt
3d3eadb7f0
f781e276-xen-driver-fix.patch bnc#778006 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=224
92 lines
2.7 KiB
Diff
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
|