Accepting request 136014 from Virtualization
- Temporarily disable building libxl driver. The current implementation does not support libxl in Xen 4.2. - Update to libvirt 0.10.2 - network: define new API virNetworkUpdate - add support for QEmu sandbox support - blockjob: add virDomainBlockCommit - node_memory: Define the APIs to get/set memory parameters - list: Define new API virConnectListAllSecrets - list: Define new API virConnectListAllNWFilter - list: Define new API virConnectListAllNodeDevices - list: Define new API virConnectListAllInterfaces - list: Define new API virConnectListAllNetworks - list: Define new API virStoragePoolListAllVolumes - list: Define new API virStorageListAllStoragePools - parallels: add support of containers to the driver - Add PMSUSPENDED life cycle event - Add per-guest S3/S4 state configuration - qemu: Support for Block Device IO Limits - Update to libvirt 0.10.1 - Bug fix release for critical bugs in 0.10.0 - Drop upstream patch f781e276-xen-driver-fix.patch - Update to libvirt 0.10.0 - agent: add qemuAgentArbitraryCommand() - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo - network: use firewalld instead of iptables, when available - network: make network driver vlan-aware - esx: Implement network driver OBS-URL: https://build.opensuse.org/request/show/136014 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=104
This commit is contained in:
commit
1d27e86149
@ -1,26 +0,0 @@
|
||||
commit 4036aa91bff6482cf4c136c93277619fa8ec6f94
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Mon Jul 9 09:52:55 2012 -0600
|
||||
|
||||
systemd: start libvirtd after network
|
||||
|
||||
Domains configured with autostart may fail to start if the host
|
||||
network stack has not been started. E.g. when using bridged
|
||||
networking autostarting a domain can fail with
|
||||
|
||||
libvirtd[1403]: 2012-06-20 13:23:49.833+0000: 1485: error :
|
||||
qemuAutostartDomain:177 : Failed to autostart VM 'test': Cannot get
|
||||
interface MTU on 'br0': No such device
|
||||
|
||||
Index: libvirt-0.9.13/daemon/libvirtd.service.in
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/libvirtd.service.in
|
||||
+++ libvirt-0.9.13/daemon/libvirtd.service.in
|
||||
@@ -6,6 +6,7 @@
|
||||
[Unit]
|
||||
Description=Virtualization daemon
|
||||
Before=libvirt-guests.service
|
||||
+After=network.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=-/etc/sysconfig/libvirtd
|
@ -1,99 +0,0 @@
|
||||
commit 6039a2cb49c8af4c68460d2faf365a7e1c686c7b
|
||||
Author: Jiri Denemark <jdenemar@redhat.com>
|
||||
Date: Mon Jul 30 12:14:54 2012 +0200
|
||||
|
||||
daemon: Fix crash in virTypedParameterArrayClear
|
||||
|
||||
Daemon uses the following pattern when dispatching APIs with typed
|
||||
parameters:
|
||||
|
||||
VIR_ALLOC_N(params, nparams);
|
||||
virDomain*(dom, params, &nparams, flags);
|
||||
virTypedParameterArrayClear(params, nparams);
|
||||
|
||||
In case nparams was originally set to 0, virDomain* API would fill it
|
||||
with the number of typed parameters it can provide and we would use this
|
||||
number (rather than zero) to clear params. Because VIR_ALLOC* returns
|
||||
non-NULL pointer even if size is 0, the code would end up walking
|
||||
through random memory. If we were lucky enough and the memory contained
|
||||
7 (VIR_TYPED_PARAM_STRING) at the right place, we would try to free a
|
||||
random pointer and crash.
|
||||
|
||||
Let's make sure params stays NULL when nparams is 0.
|
||||
|
||||
Index: libvirt-0.9.13/daemon/remote.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/remote.c
|
||||
+++ libvirt-0.9.13/daemon/remote.c
|
||||
@@ -964,7 +964,7 @@ remoteDispatchDomainGetSchedulerParamete
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0)
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0)
|
||||
goto no_memory;
|
||||
|
||||
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
|
||||
@@ -1073,7 +1073,7 @@ remoteDispatchDomainGetSchedulerParamete
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0)
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0)
|
||||
goto no_memory;
|
||||
|
||||
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
|
||||
@@ -1254,7 +1254,7 @@ remoteDispatchDomainBlockStatsFlags(virN
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -1728,7 +1728,7 @@ remoteDispatchDomainGetMemoryParameters(
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -1793,7 +1793,7 @@ remoteDispatchDomainGetNumaParameters(vi
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -1858,7 +1858,7 @@ remoteDispatchDomainGetBlkioParameters(v
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -2118,7 +2118,7 @@ remoteDispatchDomainGetBlockIoTune(virNe
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
@@ -3621,7 +3621,7 @@ remoteDispatchDomainGetInterfaceParamete
|
||||
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
|
||||
goto cleanup;
|
||||
}
|
||||
- if (VIR_ALLOC_N(params, nparams) < 0) {
|
||||
+ if (nparams && VIR_ALLOC_N(params, nparams) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.9.13/src/util/virnetdev.c
|
||||
Index: libvirt-0.10.2/src/util/virnetdev.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/util/virnetdev.c
|
||||
+++ libvirt-0.9.13/src/util/virnetdev.c
|
||||
@@ -85,7 +85,7 @@ static int virNetDevSetupControlFull(con
|
||||
--- libvirt-0.10.2.orig/src/util/virnetdev.c
|
||||
+++ libvirt-0.10.2/src/util/virnetdev.c
|
||||
@@ -81,7 +81,7 @@ static int virNetDevSetupControlFull(con
|
||||
static int virNetDevSetupControl(const char *ifname,
|
||||
struct ifreq *ifr)
|
||||
{
|
||||
@ -11,10 +11,10 @@ Index: libvirt-0.9.13/src/util/virnetdev.c
|
||||
}
|
||||
#endif
|
||||
|
||||
Index: libvirt-0.9.13/src/util/virnetdevbridge.c
|
||||
Index: libvirt-0.10.2/src/util/virnetdevbridge.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/util/virnetdevbridge.c
|
||||
+++ libvirt-0.9.13/src/util/virnetdevbridge.c
|
||||
--- libvirt-0.10.2.orig/src/util/virnetdevbridge.c
|
||||
+++ libvirt-0.10.2/src/util/virnetdevbridge.c
|
||||
@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con
|
||||
static int virNetDevSetupControl(const char *ifname,
|
||||
struct ifreq *ifr)
|
||||
|
@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c
|
||||
===================================================================
|
||||
--- src/lxc/lxc_container.c.orig
|
||||
+++ src/lxc/lxc_container.c
|
||||
@@ -1791,6 +1791,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -1932,6 +1932,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
ttyPaths, nttyPaths, handshakefd};
|
||||
|
||||
/* allocate a stack for the container */
|
||||
@ -12,7 +12,7 @@ Index: src/lxc/lxc_container.c
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0) {
|
||||
virReportOOMError();
|
||||
return -1;
|
||||
@@ -1810,7 +1813,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -1951,7 +1954,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
cflags |= CLONE_NEWNET;
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c
|
||||
VIR_FREE(stack);
|
||||
VIR_DEBUG("clone() completed, new container PID is %d", pid);
|
||||
|
||||
@@ -1836,6 +1843,7 @@ int lxcContainerAvailable(int features)
|
||||
@@ -1977,6 +1984,7 @@ int lxcContainerAvailable(int features)
|
||||
int cpid;
|
||||
char *childStack;
|
||||
char *stack;
|
||||
@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c
|
||||
|
||||
if (features & LXC_CONTAINER_FEATURE_USER)
|
||||
flags |= CLONE_NEWUSER;
|
||||
@@ -1843,14 +1851,21 @@ int lxcContainerAvailable(int features)
|
||||
@@ -1984,14 +1992,21 @@ int lxcContainerAvailable(int features)
|
||||
if (features & LXC_CONTAINER_FEATURE_NET)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
|
@ -1,91 +0,0 @@
|
||||
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
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.13/examples/apparmor/Makefile.am
|
||||
Index: libvirt-0.10.2/examples/apparmor/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/examples/apparmor/Makefile.am
|
||||
+++ libvirt-0.9.13/examples/apparmor/Makefile.am
|
||||
--- libvirt-0.10.2.orig/examples/apparmor/Makefile.am
|
||||
+++ libvirt-0.10.2/examples/apparmor/Makefile.am
|
||||
@@ -1,8 +1,39 @@
|
||||
## Copyright (C) 2005-2011 Red Hat, Inc.
|
||||
## See COPYING.LIB for the License of this software
|
||||
@ -47,10 +47,10 @@ Index: libvirt-0.9.13/examples/apparmor/Makefile.am
|
||||
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
|
||||
+
|
||||
+endif
|
||||
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
@@ -0,0 +1,40 @@
|
||||
+# Last Modified: Fri Aug 19 11:21:48 2011
|
||||
+#include <tunables/global>
|
||||
@ -92,9 +92,9 @@ Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+ /var/lib/kvm/images/ r,
|
||||
+ /var/lib/kvm/images/** r,
|
||||
+}
|
||||
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
Index: libvirt-0.10.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
--- libvirt-0.10.2.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
+++ /dev/null
|
||||
@@ -1,38 +0,0 @@
|
||||
-# Last Modified: Mon Apr 5 15:10:27 2010
|
||||
@ -135,9 +135,9 @@ Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
- /var/lib/libvirt/images/ r,
|
||||
- /var/lib/libvirt/images/** r,
|
||||
-}
|
||||
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd
|
||||
Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/examples/apparmor/usr.sbin.libvirtd
|
||||
--- libvirt-0.10.2.orig/examples/apparmor/usr.sbin.libvirtd
|
||||
+++ /dev/null
|
||||
@@ -1,52 +0,0 @@
|
||||
-# Last Modified: Mon Apr 5 15:03:58 2010
|
||||
@ -192,10 +192,10 @@ Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd
|
||||
- change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
|
||||
-
|
||||
-}
|
||||
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
|
||||
Index: libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
|
||||
+++ libvirt-0.10.2/examples/apparmor/usr.sbin.libvirtd.in
|
||||
@@ -0,0 +1,57 @@
|
||||
+# Last Modified: Fri Aug 19 11:20:36 2011
|
||||
+#include <tunables/global>
|
||||
@ -254,10 +254,10 @@ Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
|
||||
+ change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
|
||||
+
|
||||
+}
|
||||
Index: libvirt-0.9.13/examples/apparmor/libvirt-qemu
|
||||
Index: libvirt-0.10.2/examples/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/examples/apparmor/libvirt-qemu
|
||||
+++ libvirt-0.9.13/examples/apparmor/libvirt-qemu
|
||||
--- libvirt-0.10.2.orig/examples/apparmor/libvirt-qemu
|
||||
+++ libvirt-0.10.2/examples/apparmor/libvirt-qemu
|
||||
@@ -52,6 +52,7 @@
|
||||
# access to firmware's etc
|
||||
/usr/share/kvm/** r,
|
||||
|
3
libvirt-0.10.2.tar.bz2
Normal file
3
libvirt-0.10.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c155e0805275688128abdcd0f43eb32907dc80c5ea6c5cb485723ddf03d0646
|
||||
size 15629786
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1a1944135d0a52116e1085614a8c86a573b922cb25c18a62939960c40b85b365
|
||||
size 14360261
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.9.13/configure.ac
|
||||
Index: libvirt-0.10.2/configure.ac
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/configure.ac
|
||||
+++ libvirt-0.9.13/configure.ac
|
||||
@@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0"
|
||||
--- libvirt-0.10.2.orig/configure.ac
|
||||
+++ libvirt-0.10.2/configure.ac
|
||||
@@ -102,6 +102,7 @@ AVAHI_REQUIRED="0.6.0"
|
||||
POLKIT_REQUIRED="0.6"
|
||||
PARTED_REQUIRED="1.8.0"
|
||||
NETCF_REQUIRED="0.1.4"
|
||||
@ -10,7 +10,7 @@ Index: libvirt-0.9.13/configure.ac
|
||||
UDEV_REQUIRED=145
|
||||
PCIACCESS_REQUIRED=0.10.0
|
||||
XMLRPC_REQUIRED=1.14.0
|
||||
@@ -1796,6 +1797,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
|
||||
@@ -1948,6 +1949,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
|
||||
AC_SUBST([NETCF_CFLAGS])
|
||||
AC_SUBST([NETCF_LIBS])
|
||||
|
||||
@ -49,15 +49,7 @@ Index: libvirt-0.9.13/configure.ac
|
||||
|
||||
AC_ARG_WITH([secrets],
|
||||
AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes])
|
||||
@@ -2810,6 +2843,7 @@ AC_MSG_NOTICE([ Remote: $with_remote])
|
||||
AC_MSG_NOTICE([ Network: $with_network])
|
||||
AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
|
||||
AC_MSG_NOTICE([ netcf: $with_netcf])
|
||||
+AC_MSG_NOTICE([ netctrl: $with_netcontrol])
|
||||
AC_MSG_NOTICE([ macvtap: $with_macvtap])
|
||||
AC_MSG_NOTICE([virtport: $with_virtualport])
|
||||
AC_MSG_NOTICE([])
|
||||
@@ -2942,6 +2976,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
|
||||
@@ -3183,6 +3216,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
|
||||
else
|
||||
AC_MSG_NOTICE([ netcf: no])
|
||||
fi
|
||||
@ -69,52 +61,11 @@ Index: libvirt-0.9.13/configure.ac
|
||||
if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then
|
||||
AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS])
|
||||
else
|
||||
Index: libvirt-0.9.13/daemon/Makefile.am
|
||||
Index: libvirt-0.10.2/src/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.13/daemon/Makefile.am
|
||||
@@ -150,6 +150,10 @@ endif
|
||||
|
||||
if WITH_NETCF
|
||||
libvirtd_LDADD += ../src/libvirt_driver_interface.la
|
||||
+else
|
||||
+if WITH_NETCONTROL
|
||||
+ libvirtd_LDADD += ../src/libvirt_driver_interface.la
|
||||
+endif
|
||||
endif
|
||||
|
||||
if WITH_NODE_DEVICES
|
||||
Index: libvirt-0.9.13/daemon/libvirtd.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.9.13/daemon/libvirtd.c
|
||||
@@ -76,6 +76,10 @@
|
||||
# endif
|
||||
# ifdef WITH_NETCF
|
||||
# include "interface/netcf_driver.h"
|
||||
+# else
|
||||
+# ifdef WITH_NETCONTROL
|
||||
+# include "interface/netcf_driver.h"
|
||||
+# endif
|
||||
# endif
|
||||
# ifdef WITH_STORAGE
|
||||
# include "storage/storage_driver.h"
|
||||
@@ -402,6 +406,10 @@ static void daemonInitialize(void)
|
||||
# endif
|
||||
# ifdef WITH_NETCF
|
||||
interfaceRegister();
|
||||
+#else
|
||||
+# ifdef WITH_NETCONTROL
|
||||
+ interfaceRegister();
|
||||
+# endif
|
||||
# endif
|
||||
# ifdef WITH_STORAGE
|
||||
storageRegister();
|
||||
Index: libvirt-0.9.13/src/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/Makefile.am
|
||||
+++ libvirt-0.9.13/src/Makefile.am
|
||||
@@ -941,6 +941,24 @@ libvirt_driver_interface_la_LIBADD += ..
|
||||
--- libvirt-0.10.2.orig/src/Makefile.am
|
||||
+++ libvirt-0.10.2/src/Makefile.am
|
||||
@@ -1050,6 +1050,24 @@ libvirt_driver_interface_la_LIBADD += ..
|
||||
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
|
||||
endif
|
||||
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
|
||||
@ -139,25 +90,40 @@ Index: libvirt-0.9.13/src/Makefile.am
|
||||
endif
|
||||
|
||||
if WITH_SECRETS
|
||||
Index: libvirt-0.9.13/src/interface/netcf_driver.c
|
||||
Index: libvirt-0.10.2/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/interface/netcf_driver.c
|
||||
+++ libvirt-0.9.13/src/interface/netcf_driver.c
|
||||
@@ -23,7 +23,13 @@
|
||||
--- libvirt-0.10.2.orig/tools/virsh.c
|
||||
+++ libvirt-0.10.2/tools/virsh.c
|
||||
@@ -2708,6 +2708,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
||||
vshPrint(ctl, " Interface");
|
||||
# if defined(WITH_NETCF)
|
||||
vshPrint(ctl, " netcf");
|
||||
+# else
|
||||
+# ifdef WITH_NETCONTROL
|
||||
+ vshPrint(ctl, " Interface");
|
||||
+# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef WITH_NWFILTER
|
||||
Index: libvirt-0.10.2/src/interface/interface_backend_netcf.c
|
||||
===================================================================
|
||||
--- libvirt-0.10.2.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-0.10.2/src/interface/interface_backend_netcf.c
|
||||
@@ -23,7 +23,12 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
-#include <netcf.h>
|
||||
+#ifdef WITH_NETCONTROL
|
||||
+#include <netcontrol/netcf.h>
|
||||
+#include <netcontrol/logger.h>
|
||||
+#include "logging.h"
|
||||
+# include <netcontrol/netcf.h>
|
||||
+# include <netcontrol/logger.h>
|
||||
+#else
|
||||
#include <netcf.h>
|
||||
+# include <netcf.h>
|
||||
+#endif
|
||||
|
||||
#include "virterror_internal.h"
|
||||
#include "datatypes.h"
|
||||
@@ -55,6 +61,39 @@ static void interfaceDriverUnlock(struct
|
||||
@@ -52,6 +57,39 @@ static void interfaceDriverUnlock(struct
|
||||
virMutexUnlock(&driver->lock);
|
||||
}
|
||||
|
||||
@ -197,7 +163,7 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c
|
||||
static int netcf_to_vir_err(int netcf_errcode)
|
||||
{
|
||||
switch (netcf_errcode)
|
||||
@@ -140,6 +179,10 @@ static virDrvOpenStatus interfaceOpenInt
|
||||
@@ -137,6 +175,10 @@ static virDrvOpenStatus interfaceOpenInt
|
||||
goto mutex_error;
|
||||
}
|
||||
|
||||
@ -208,18 +174,3 @@ Index: libvirt-0.9.13/src/interface/netcf_driver.c
|
||||
/* open netcf */
|
||||
if (ncf_init(&driverState->netcf, NULL) != 0)
|
||||
{
|
||||
Index: libvirt-0.9.13/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/tools/virsh.c
|
||||
+++ libvirt-0.9.13/tools/virsh.c
|
||||
@@ -20837,6 +20837,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
||||
#endif
|
||||
#ifdef WITH_NETCF
|
||||
vshPrint(ctl, " Interface");
|
||||
+#else
|
||||
+# ifdef WITH_NETCONTROL
|
||||
+ vshPrint(ctl, " Interface");
|
||||
+# endif
|
||||
#endif
|
||||
#ifdef WITH_NWFILTER
|
||||
vshPrint(ctl, " Nwfilter");
|
||||
|
@ -1,3 +1,52 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 25 16:20:43 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Temporarily disable building libxl driver. The current
|
||||
implementation does not support libxl in Xen 4.2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 25 16:17:29 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Update to libvirt 0.10.2
|
||||
- network: define new API virNetworkUpdate
|
||||
- add support for QEmu sandbox support
|
||||
- blockjob: add virDomainBlockCommit
|
||||
- node_memory: Define the APIs to get/set memory parameters
|
||||
- list: Define new API virConnectListAllSecrets
|
||||
- list: Define new API virConnectListAllNWFilter
|
||||
- list: Define new API virConnectListAllNodeDevices
|
||||
- list: Define new API virConnectListAllInterfaces
|
||||
- list: Define new API virConnectListAllNetworks
|
||||
- list: Define new API virStoragePoolListAllVolumes
|
||||
- list: Define new API virStorageListAllStoragePools
|
||||
- parallels: add support of containers to the driver
|
||||
- Add PMSUSPENDED life cycle event
|
||||
- Add per-guest S3/S4 state configuration
|
||||
- qemu: Support for Block Device IO Limits
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 7 13:42:10 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Update to libvirt 0.10.1
|
||||
- Bug fix release for critical bugs in 0.10.0
|
||||
- Drop upstream patch f781e276-xen-driver-fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 31 11:20:35 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Update to libvirt 0.10.0
|
||||
- agent: add qemuAgentArbitraryCommand()
|
||||
- Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo
|
||||
- network: use firewalld instead of iptables, when available
|
||||
- network: make network driver vlan-aware
|
||||
- esx: Implement network driver
|
||||
- driver for parallels hypervisor
|
||||
- Various LXC improvements
|
||||
- Add virDomainGetHostname
|
||||
- Drop upstream patches
|
||||
4036aa91-systemd.patch
|
||||
6039a2cb-CVE-2012-3445.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 30 21:20:11 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
|
14
libvirt.spec
14
libvirt.spec
@ -95,11 +95,9 @@
|
||||
%define with_libxl 0
|
||||
%endif
|
||||
|
||||
# libxenlight driver requires Xen >= 4.1, which is only
|
||||
# available in openSUSE >= 12.1 or SLE >= 11sp2
|
||||
%if 0%{?suse_version} < 1210
|
||||
# Temporarily disable building the libxl driver since the current
|
||||
# implementation only works with Xen 4.1
|
||||
%define with_libxl 0
|
||||
%endif
|
||||
|
||||
# numactl only on x86_64 and ia64
|
||||
%ifnarch x86_64 ia64
|
||||
@ -330,7 +328,7 @@ BuildRequires: systemd
|
||||
|
||||
Name: libvirt
|
||||
Url: http://libvirt.org/
|
||||
Version: 0.9.13
|
||||
Version: 0.10.2
|
||||
Release: 0
|
||||
Summary: A C toolkit to interact with the virtualization capabilities of Linux
|
||||
License: LGPL-2.1+
|
||||
@ -413,9 +411,6 @@ Source1: libvirtd.init
|
||||
Source2: libvirtd-relocation-server.fw
|
||||
Source99: baselibs.conf
|
||||
# Upstream patches
|
||||
Patch0: 4036aa91-systemd.patch
|
||||
Patch1: 6039a2cb-CVE-2012-3445.patch
|
||||
Patch2: f781e276-xen-driver-fix.patch
|
||||
# Need to go upstream
|
||||
Patch100: xen-name-for-devid.patch
|
||||
Patch101: clone.patch
|
||||
@ -551,9 +546,6 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch100 -p1
|
||||
%patch101
|
||||
%patch102 -p1
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.13/daemon/libvirtd.conf
|
||||
Index: libvirt-0.10.2/daemon/libvirtd.conf
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.9.13/daemon/libvirtd.conf
|
||||
--- libvirt-0.10.2.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.10.2/daemon/libvirtd.conf
|
||||
@@ -18,8 +18,8 @@
|
||||
# It is necessary to setup a CA and issue server certificates before
|
||||
# using this capability.
|
||||
@ -13,11 +13,11 @@ Index: libvirt-0.9.13/daemon/libvirtd.conf
|
||||
|
||||
# Listen for unencrypted TCP connections on the public TCP/IP port.
|
||||
# NB, must pass the --listen flag to the libvirtd process for this to
|
||||
Index: libvirt-0.9.13/daemon/libvirtd-config.c
|
||||
Index: libvirt-0.10.2/daemon/libvirtd-config.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/libvirtd-config.c
|
||||
+++ libvirt-0.9.13/daemon/libvirtd-config.c
|
||||
@@ -237,7 +237,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||
--- libvirt-0.10.2.orig/daemon/libvirtd-config.c
|
||||
+++ libvirt-0.10.2/daemon/libvirtd-config.c
|
||||
@@ -233,7 +233,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -7,11 +7,11 @@ drivers as loadable modules instead of built-in to the
|
||||
daemon. Then the qemu driver would only be loaded when needed,
|
||||
which would never be the case on a xen-only configuration.
|
||||
|
||||
Index: libvirt-0.9.13/src/qemu/qemu_conf.c
|
||||
Index: libvirt-0.10.2/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-0.9.13/src/qemu/qemu_conf.c
|
||||
@@ -271,9 +271,7 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
--- libvirt-0.10.2.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-0.10.2/src/qemu/qemu_conf.c
|
||||
@@ -350,9 +350,7 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
return -1;
|
||||
}
|
||||
if (virGetUserID(user, &driver->user) < 0) {
|
||||
@ -22,7 +22,7 @@ Index: libvirt-0.9.13/src/qemu/qemu_conf.c
|
||||
}
|
||||
VIR_FREE(user);
|
||||
|
||||
@@ -286,9 +284,7 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
@@ -365,9 +363,7 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
return -1;
|
||||
}
|
||||
if (virGetGroupID(group, &driver->group) < 0) {
|
||||
|
@ -1,10 +1,10 @@
|
||||
Index: libvirt-0.9.13/src/qemu/qemu.conf
|
||||
Index: libvirt-0.10.2/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-0.9.13/src/qemu/qemu.conf
|
||||
@@ -146,7 +146,16 @@
|
||||
# leaving SELinux enabled for the host in general, then set this
|
||||
# to 'none' instead.
|
||||
--- libvirt-0.10.2.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-0.10.2/src/qemu/qemu.conf
|
||||
@@ -169,7 +169,16 @@
|
||||
# a special value; security_driver can be set to that value in
|
||||
# isolation, but it cannot appear in a list of drivers.
|
||||
#
|
||||
+# SUSE Note:
|
||||
+# Currently, Apparmor is the default security framework in SUSE
|
||||
@ -14,12 +14,12 @@ Index: libvirt-0.9.13/src/qemu/qemu.conf
|
||||
+# confinement of qemu instances.
|
||||
+#
|
||||
#security_driver = "selinux"
|
||||
+# security_driver = "apparmor"
|
||||
+#security_driver = "apparmor"
|
||||
+security_driver = "none"
|
||||
|
||||
# If set to non-zero, then the default security labeling
|
||||
# will make guests confined. If set to zero, then guests
|
||||
@@ -319,6 +328,15 @@
|
||||
@@ -342,6 +351,15 @@
|
||||
#allow_disk_format_probing = 1
|
||||
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.9.13/tools/Makefile.am
|
||||
Index: libvirt-0.10.2/tools/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/tools/Makefile.am
|
||||
+++ libvirt-0.9.13/tools/Makefile.am
|
||||
@@ -148,24 +148,22 @@ install-data-local: install-init install
|
||||
--- libvirt-0.10.2.orig/tools/Makefile.am
|
||||
+++ libvirt-0.10.2/tools/Makefile.am
|
||||
@@ -169,24 +169,22 @@ install-data-local: install-init install
|
||||
uninstall-local: uninstall-init uninstall-systemd
|
||||
|
||||
install-sysconfig:
|
||||
@ -33,10 +33,10 @@ Index: libvirt-0.9.13/tools/Makefile.am
|
||||
|
||||
|
||||
if LIBVIRT_INIT_SCRIPT_RED_HAT
|
||||
Index: libvirt-0.9.13/tools/libvirt-guests.sysconf
|
||||
Index: libvirt-0.10.2/tools/libvirt-guests.sysconf
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-0.9.13/tools/libvirt-guests.sysconf
|
||||
--- libvirt-0.10.2.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-0.10.2/tools/libvirt-guests.sysconf
|
||||
@@ -1,19 +1,29 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
+
|
||||
@ -101,10 +101,10 @@ Index: libvirt-0.9.13/tools/libvirt-guests.sysconf
|
||||
# some file systems.
|
||||
-#BYPASS_CACHE=0
|
||||
+BYPASS_CACHE=0
|
||||
Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
Index: libvirt-0.10.2/tools/libvirt-guests.init.sh
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/tools/libvirt-guests.init.sh
|
||||
+++ libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
--- libvirt-0.10.2.orig/tools/libvirt-guests.init.sh
|
||||
+++ libvirt-0.10.2/tools/libvirt-guests.init.sh
|
||||
@@ -4,10 +4,10 @@
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
@ -212,7 +212,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
eval_gettext "Resuming guests on \$uri URI..."; echo
|
||||
for guest in $list; do
|
||||
name=$(guest_name "$uri" "$guest")
|
||||
@@ -372,7 +394,7 @@ shutdown_guests_parallel()
|
||||
@@ -401,7 +423,7 @@ shutdown_guests_parallel()
|
||||
timeout=$(($timeout - 1))
|
||||
if [ $timeout -le 0 ]; then
|
||||
eval_gettext "Timeout expired while shutting down domains"; echo
|
||||
@ -220,8 +220,8 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
+ rc_failed 1
|
||||
return
|
||||
fi
|
||||
fi
|
||||
@@ -394,7 +416,7 @@ stop() {
|
||||
else
|
||||
@@ -429,7 +451,7 @@ stop() {
|
||||
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
|
||||
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
|
||||
echo
|
||||
@ -230,7 +230,7 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
return
|
||||
fi
|
||||
fi
|
||||
@@ -508,14 +530,13 @@ gueststatus() {
|
||||
@@ -543,14 +565,13 @@ gueststatus() {
|
||||
rh_status() {
|
||||
if [ -f "$LISTFILE" ]; then
|
||||
gettext "stopped, with saved guests"; echo
|
||||
@ -246,17 +246,17 @@ Index: libvirt-0.9.13/tools/libvirt-guests.init.sh
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -559,4 +580,4 @@ case "$1" in
|
||||
@@ -594,4 +615,4 @@ case "$1" in
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
-exit $RETVAL
|
||||
+rc_exit
|
||||
Index: libvirt-0.9.13/daemon/Makefile.am
|
||||
Index: libvirt-0.10.2/daemon/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.13/daemon/Makefile.am
|
||||
@@ -260,39 +260,23 @@ uninstall-logrotate:
|
||||
--- libvirt-0.10.2.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.10.2/daemon/Makefile.am
|
||||
@@ -259,39 +259,23 @@ uninstall-logrotate:
|
||||
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
|
||||
|
||||
install-sysconfig:
|
||||
@ -300,10 +300,10 @@ Index: libvirt-0.9.13/daemon/Makefile.am
|
||||
else
|
||||
install-init-redhat:
|
||||
uninstall-init-redhat:
|
||||
Index: libvirt-0.9.13/daemon/libvirtd.sysconf
|
||||
Index: libvirt-0.10.2/daemon/libvirtd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/daemon/libvirtd.sysconf
|
||||
+++ libvirt-0.9.13/daemon/libvirtd.sysconf
|
||||
--- libvirt-0.10.2.orig/daemon/libvirtd.sysconf
|
||||
+++ libvirt-0.10.2/daemon/libvirtd.sysconf
|
||||
@@ -1,16 +1,25 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
+
|
||||
|
@ -13,11 +13,11 @@ Date: Wed Jan 27 16:11:41 2010 -0700
|
||||
This approach allows removing a disk when domain is inactive. We
|
||||
obviously can't search xenstore when the domain is inactive.
|
||||
|
||||
Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
Index: libvirt-0.10.2/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.9.13/src/xen/xend_internal.c
|
||||
@@ -60,6 +60,7 @@
|
||||
--- libvirt-0.10.2.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.10.2/src/xen/xend_internal.c
|
||||
@@ -61,6 +61,7 @@
|
||||
|
||||
static int
|
||||
virDomainXMLDevID(virDomainPtr domain,
|
||||
@ -25,7 +25,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
virDomainDeviceDefPtr dev,
|
||||
char *class,
|
||||
char *ref,
|
||||
@@ -2757,7 +2758,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
||||
@@ -2764,7 +2765,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
||||
|
||||
sexpr = virBufferContentAndReset(&buf);
|
||||
|
||||
@ -34,16 +34,16 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
/* device doesn't exist, define it */
|
||||
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
||||
"config", sexpr, NULL);
|
||||
@@ -2878,7 +2879,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
|
||||
@@ -2885,7 +2886,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
|
||||
|
||||
sexpr = virBufferContentAndReset(&buf);
|
||||
|
||||
- if (virDomainXMLDevID(domain, dev, class, ref, sizeof(ref))) {
|
||||
+ if (virDomainXMLDevID(domain, def, dev, class, ref, sizeof(ref))) {
|
||||
virXendError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("requested device does not exist"));
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("requested device does not exist"));
|
||||
goto cleanup;
|
||||
@@ -2973,7 +2974,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
||||
@@ -2980,7 +2981,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||
goto cleanup;
|
||||
|
||||
@ -52,7 +52,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
goto cleanup;
|
||||
|
||||
if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
|
||||
@@ -3919,6 +3920,7 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
@@ -3926,6 +3927,7 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
*/
|
||||
static int
|
||||
virDomainXMLDevID(virDomainPtr domain,
|
||||
@ -60,7 +60,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
virDomainDeviceDefPtr dev,
|
||||
char *class,
|
||||
char *ref,
|
||||
@@ -3927,8 +3929,12 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
@@ -3934,8 +3936,12 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
xenUnifiedPrivatePtr priv = domain->conn->privateData;
|
||||
char *xref;
|
||||
char *tmp;
|
||||
@ -73,7 +73,7 @@ Index: libvirt-0.9.13/src/xen/xend_internal.c
|
||||
if (dev->data.disk->driverName &&
|
||||
STREQ(dev->data.disk->driverName, "tap"))
|
||||
strcpy(class, "tap");
|
||||
@@ -3938,19 +3944,21 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
@@ -3945,19 +3951,21 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
else
|
||||
strcpy(class, "vbd");
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c
|
||||
Index: libvirt-0.10.2/src/xenxs/xen_sxpr.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.13.orig/src/xenxs/xen_sxpr.c
|
||||
+++ libvirt-0.9.13/src/xenxs/xen_sxpr.c
|
||||
--- libvirt-0.10.2.orig/src/xenxs/xen_sxpr.c
|
||||
+++ libvirt-0.10.2/src/xenxs/xen_sxpr.c
|
||||
@@ -340,7 +340,7 @@ error:
|
||||
static int
|
||||
xenParseSxprDisks(virDomainDefPtr def,
|
||||
@ -17,5 +17,5 @@ Index: libvirt-0.9.13/src/xenxs/xen_sxpr.c
|
||||
if (!offset ||
|
||||
- !hvm ||
|
||||
STRNEQ(offset, ":cdrom")) {
|
||||
XENXS_ERROR(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("domain information incomplete, vbd has no src"));
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("domain information incomplete, vbd has no src"));
|
||||
|
Loading…
Reference in New Issue
Block a user