forked from pool/libvirt
Accepting request 127535 from Virtualization
- libvirtd.service: ensure libvirtd starts after network 4036aa91-systemd.patch bnc#767932 - Add upstream patch to fix ref count of virNetServer object 9c77bf04-fix-virnetserver-refcnt.patch - Fix libvirtd deadlock on shutdown 0dda594d-libvirtd-shutdown-deadlock.patch bnc#767797 - Fix segfault in libvirt_lxc 57349ffc-lxc-ctrl.patch bnc#767448 - Fix build on i586 revert-d8978c90.patch - Update to libvirt 0.9.11.4 stable release - VUL-1: Fix hotplug support for usb devices with same vendorID, productID 9914477e-usb-search-funcs.patch 05abd150-usb-improve-hotplug.patch bnc#766559 OBS-URL: https://build.opensuse.org/request/show/127535 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=100
This commit is contained in:
commit
2cc7392cfb
45
0dda594d-libvirtd-shutdown-deadlock.patch
Normal file
45
0dda594d-libvirtd-shutdown-deadlock.patch
Normal file
@ -0,0 +1,45 @@
|
||||
commit 0dda594da99aede7621018a3705e7cf4c13b1606
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Thu Jun 21 09:21:44 2012 -0600
|
||||
|
||||
Fix deadlock on libvirtd shutdown
|
||||
|
||||
When shutting down libvirtd, the virNetServer shutdown can deadlock
|
||||
if there are in-flight jobs being handled by virNetServerHandleJob().
|
||||
virNetServerFree() will acquire the virNetServer lock and call
|
||||
virThreadPoolFree() to terminate the workers, waiting for the workers
|
||||
to finish. But in-flight workers will attempt to acquire the
|
||||
virNetServer lock, resulting in deadlock.
|
||||
|
||||
Fix the deadlock by unlocking the virNetServer lock before calling
|
||||
virThreadPoolFree(). This is safe since the virNetServerPtr object
|
||||
is ref-counted and only decrementing the ref count needs to be
|
||||
protected. Additionally, there is no need to re-acquire the lock
|
||||
after virThreadPoolFree() completes as all the workers have
|
||||
terminated.
|
||||
|
||||
Index: libvirt-0.9.11.4/src/rpc/virnetserver.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.4.orig/src/rpc/virnetserver.c
|
||||
+++ libvirt-0.9.11.4/src/rpc/virnetserver.c
|
||||
@@ -801,10 +801,9 @@ void virNetServerFree(virNetServerPtr sr
|
||||
virNetServerLock(srv);
|
||||
VIR_DEBUG("srv=%p refs=%d", srv, srv->refs);
|
||||
srv->refs--;
|
||||
- if (srv->refs > 0) {
|
||||
- virNetServerUnlock(srv);
|
||||
+ virNetServerUnlock(srv);
|
||||
+ if (srv->refs > 0)
|
||||
return;
|
||||
- }
|
||||
|
||||
for (i = 0 ; i < srv->nservices ; i++)
|
||||
virNetServerServiceToggle(srv->services[i], false);
|
||||
@@ -845,7 +844,6 @@ void virNetServerFree(virNetServerPtr sr
|
||||
dbus_connection_unref(srv->sysbus);
|
||||
#endif
|
||||
|
||||
- virNetServerUnlock(srv);
|
||||
virMutexDestroy(&srv->lock);
|
||||
VIR_FREE(srv);
|
||||
}
|
26
4036aa91-systemd.patch
Normal file
26
4036aa91-systemd.patch
Normal file
@ -0,0 +1,26 @@
|
||||
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.11.4/daemon/libvirtd.service.in
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.4.orig/daemon/libvirtd.service.in
|
||||
+++ libvirt-0.9.11.4/daemon/libvirtd.service.in
|
||||
@@ -6,6 +6,7 @@
|
||||
[Unit]
|
||||
Description=Virtualization daemon
|
||||
Before=libvirt-guests.service
|
||||
+After=network.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=-/etc/sysconfig/libvirtd
|
70
57349ffc-lxc-ctrl.patch
Normal file
70
57349ffc-lxc-ctrl.patch
Normal file
@ -0,0 +1,70 @@
|
||||
commit 57349ffc10290eed2cb25ca7cfb4b34ab5003156
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Wed Jun 20 23:28:09 2012 -0600
|
||||
|
||||
Initialize random generator in lxc controller
|
||||
|
||||
The lxc contoller eventually makes use of virRandomBits(), which was
|
||||
segfaulting since virRandomInitialize() is never invoked.
|
||||
|
||||
Program received signal SIGSEGV, Segmentation fault.
|
||||
0x00007ffff554d560 in random_r () from /lib64/libc.so.6
|
||||
(gdb) bt
|
||||
0 0x00007ffff554d560 in random_r () from /lib64/libc.so.6
|
||||
1 0x0000000000469eaa in virRandomBits (nbits=32) at util/virrandom.c:80
|
||||
2 0x000000000045bf69 in virHashCreateFull (size=256,
|
||||
dataFree=0x4aa2a2 <hashDataFree>, keyCode=0x45bd40 <virHashStrCode>,
|
||||
keyEqual=0x45bdad <virHashStrEqual>, keyCopy=0x45bdfa <virHashStrCopy>,
|
||||
keyFree=0x45be37 <virHashStrFree>) at util/virhash.c:134
|
||||
3 0x000000000045c069 in virHashCreate (size=0, dataFree=0x4aa2a2 <hashDataFree>)
|
||||
at util/virhash.c:164
|
||||
4 0x00000000004aa562 in virNWFilterHashTableCreate (n=0)
|
||||
at conf/nwfilter_params.c:686
|
||||
5 0x00000000004aa95b in virNWFilterParseParamAttributes (cur=0x711d30)
|
||||
at conf/nwfilter_params.c:793
|
||||
6 0x0000000000481a7f in virDomainNetDefParseXML (caps=0x702c90, node=0x7116b0,
|
||||
ctxt=0x7101b0, bootMap=0x0, flags=0) at conf/domain_conf.c:4589
|
||||
7 0x000000000048cc36 in virDomainDefParseXML (caps=0x702c90, xml=0x710040,
|
||||
root=0x7103b0, ctxt=0x7101b0, expectedVirtTypes=16, flags=0)
|
||||
at conf/domain_conf.c:8658
|
||||
8 0x000000000048f011 in virDomainDefParseNode (caps=0x702c90, xml=0x710040,
|
||||
root=0x7103b0, expectedVirtTypes=16, flags=0) at conf/domain_conf.c:9360
|
||||
9 0x000000000048ee30 in virDomainDefParse (xmlStr=0x0,
|
||||
filename=0x702ae0 "/var/run/libvirt/lxc/x.xml", caps=0x702c90,
|
||||
expectedVirtTypes=16, flags=0) at conf/domain_conf.c:9310
|
||||
10 0x000000000048ef00 in virDomainDefParseFile (caps=0x702c90,
|
||||
filename=0x702ae0 "/var/run/libvirt/lxc/x.xml", expectedVirtTypes=16, flags=0)
|
||||
at conf/domain_conf.c:9332
|
||||
11 0x0000000000425053 in main (argc=5, argv=0x7fffffffe2b8)
|
||||
at lxc/lxc_controller.c:1773
|
||||
|
||||
Index: libvirt-0.9.11.4/src/lxc/lxc_controller.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.4.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-0.9.11.4/src/lxc/lxc_controller.c
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <dirent.h>
|
||||
#include <grp.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <time.h>
|
||||
|
||||
#if HAVE_CAPNG
|
||||
# include <cap-ng.h>
|
||||
@@ -71,6 +72,7 @@
|
||||
#include "command.h"
|
||||
#include "processinfo.h"
|
||||
#include "nodeinfo.h"
|
||||
+#include "virrandom.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||
|
||||
@@ -1663,7 +1665,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (setlocale(LC_ALL, "") == NULL ||
|
||||
bindtextdomain(PACKAGE, LOCALEDIR) == NULL ||
|
||||
- textdomain(PACKAGE) == NULL) {
|
||||
+ textdomain(PACKAGE) == NULL ||
|
||||
+ virRandomInitialize(time(NULL) ^ getpid())) {
|
||||
fprintf(stderr, _("%s: initialization failed\n"), argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
34
9c77bf04-fix-virnetserver-refcnt.patch
Normal file
34
9c77bf04-fix-virnetserver-refcnt.patch
Normal file
@ -0,0 +1,34 @@
|
||||
commit 9c77bf04b03ff026bb37212a195070d8983f530d
|
||||
Author: Hu Tao <hutao@cn.fujitsu.com>
|
||||
Date: Fri Jun 22 11:26:03 2012 +0800
|
||||
|
||||
fix a bug of ref count in virnetserver.c
|
||||
|
||||
The test of ref count is not protected by lock, which is unsafe because
|
||||
the ref count may have been changed by other threads during the test.
|
||||
|
||||
This patch fixes this.
|
||||
|
||||
Index: libvirt-0.9.11.4/src/rpc/virnetserver.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.4.orig/src/rpc/virnetserver.c
|
||||
+++ libvirt-0.9.11.4/src/rpc/virnetserver.c
|
||||
@@ -794,15 +794,16 @@ void virNetServerQuit(virNetServerPtr sr
|
||||
void virNetServerFree(virNetServerPtr srv)
|
||||
{
|
||||
int i;
|
||||
+ int refs;
|
||||
|
||||
if (!srv)
|
||||
return;
|
||||
|
||||
virNetServerLock(srv);
|
||||
VIR_DEBUG("srv=%p refs=%d", srv, srv->refs);
|
||||
- srv->refs--;
|
||||
+ refs = --srv->refs;
|
||||
virNetServerUnlock(srv);
|
||||
- if (srv->refs > 0)
|
||||
+ if (refs > 0)
|
||||
return;
|
||||
|
||||
for (i = 0 ; i < srv->nservices ; i++)
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/src/util/virnetdev.c
|
||||
Index: libvirt-0.9.11.4/src/util/virnetdev.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/util/virnetdev.c
|
||||
+++ libvirt-0.9.11.3/src/util/virnetdev.c
|
||||
--- libvirt-0.9.11.4.orig/src/util/virnetdev.c
|
||||
+++ libvirt-0.9.11.4/src/util/virnetdev.c
|
||||
@@ -85,7 +85,7 @@ static int virNetDevSetupControlFull(con
|
||||
static int virNetDevSetupControl(const char *ifname,
|
||||
struct ifreq *ifr)
|
||||
@ -11,10 +11,10 @@ Index: libvirt-0.9.11.3/src/util/virnetdev.c
|
||||
}
|
||||
#endif
|
||||
|
||||
Index: libvirt-0.9.11.3/src/util/virnetdevbridge.c
|
||||
Index: libvirt-0.9.11.4/src/util/virnetdevbridge.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/util/virnetdevbridge.c
|
||||
+++ libvirt-0.9.11.3/src/util/virnetdevbridge.c
|
||||
--- libvirt-0.9.11.4.orig/src/util/virnetdevbridge.c
|
||||
+++ libvirt-0.9.11.4/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
|
||||
@@ -1453,6 +1453,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -1454,6 +1454,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;
|
||||
@@ -1472,7 +1475,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -1473,7 +1476,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);
|
||||
|
||||
@@ -1498,6 +1505,7 @@ int lxcContainerAvailable(int features)
|
||||
@@ -1499,6 +1506,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;
|
||||
@@ -1505,14 +1513,21 @@ int lxcContainerAvailable(int features)
|
||||
@@ -1506,14 +1514,21 @@ int lxcContainerAvailable(int features)
|
||||
if (features & LXC_CONTAINER_FEATURE_NET)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/examples/apparmor/Makefile.am
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/examples/apparmor/Makefile.am
|
||||
+++ libvirt-0.9.11.3/examples/apparmor/Makefile.am
|
||||
--- libvirt-0.9.11.4.orig/examples/apparmor/Makefile.am
|
||||
+++ libvirt-0.9.11.4/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.11.3/examples/apparmor/Makefile.am
|
||||
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
|
||||
+
|
||||
+endif
|
||||
Index: libvirt-0.9.11.3/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-0.9.11.3/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ libvirt-0.9.11.4/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.11.3/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+ /var/lib/kvm/images/ r,
|
||||
+ /var/lib/kvm/images/** r,
|
||||
+}
|
||||
Index: libvirt-0.9.11.3/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
--- libvirt-0.9.11.4.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.11.3/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
- /var/lib/libvirt/images/ r,
|
||||
- /var/lib/libvirt/images/** r,
|
||||
-}
|
||||
Index: libvirt-0.9.11.3/examples/apparmor/usr.sbin.libvirtd
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/examples/apparmor/usr.sbin.libvirtd
|
||||
--- libvirt-0.9.11.4.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.11.3/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.11.3/examples/apparmor/usr.sbin.libvirtd.in
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-0.9.11.3/examples/apparmor/usr.sbin.libvirtd.in
|
||||
+++ libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in
|
||||
@@ -0,0 +1,58 @@
|
||||
+# Last Modified: Fri Aug 19 11:20:36 2011
|
||||
+#include <tunables/global>
|
||||
@ -255,10 +255,10 @@ Index: libvirt-0.9.11.3/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.11.3/examples/apparmor/libvirt-qemu
|
||||
Index: libvirt-0.9.11.4/examples/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/examples/apparmor/libvirt-qemu
|
||||
+++ libvirt-0.9.11.3/examples/apparmor/libvirt-qemu
|
||||
--- libvirt-0.9.11.4.orig/examples/apparmor/libvirt-qemu
|
||||
+++ libvirt-0.9.11.4/examples/apparmor/libvirt-qemu
|
||||
@@ -52,6 +52,7 @@
|
||||
# access to firmware's etc
|
||||
/usr/share/kvm/** r,
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2f9a4fd33ee9e88b0dc1431799b583feba0539e224db87e1c4b2c44ddae52afa
|
||||
size 13800939
|
3
libvirt-0.9.11.4.tar.bz2
Normal file
3
libvirt-0.9.11.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba68c591b0a500188170fefc43d0dbec02f4527aeed18c5b2ebbdc5ca91bca56
|
||||
size 13792390
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/configure.ac
|
||||
Index: libvirt-0.9.11.4/configure.ac
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/configure.ac
|
||||
+++ libvirt-0.9.11.3/configure.ac
|
||||
--- libvirt-0.9.11.4.orig/configure.ac
|
||||
+++ libvirt-0.9.11.4/configure.ac
|
||||
@@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0"
|
||||
POLKIT_REQUIRED="0.6"
|
||||
PARTED_REQUIRED="1.8.0"
|
||||
@ -10,7 +10,7 @@ Index: libvirt-0.9.11.3/configure.ac
|
||||
UDEV_REQUIRED=145
|
||||
PCIACCESS_REQUIRED=0.10.0
|
||||
XMLRPC_REQUIRED=1.14.0
|
||||
@@ -1741,6 +1742,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
|
||||
@@ -1756,6 +1757,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
|
||||
AC_SUBST([NETCF_CFLAGS])
|
||||
AC_SUBST([NETCF_LIBS])
|
||||
|
||||
@ -49,7 +49,7 @@ Index: libvirt-0.9.11.3/configure.ac
|
||||
|
||||
AC_ARG_WITH([secrets],
|
||||
AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes])
|
||||
@@ -2686,6 +2719,7 @@ AC_MSG_NOTICE([ Remote: $with_remote])
|
||||
@@ -2701,6 +2734,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])
|
||||
@ -57,7 +57,7 @@ Index: libvirt-0.9.11.3/configure.ac
|
||||
AC_MSG_NOTICE([ macvtap: $with_macvtap])
|
||||
AC_MSG_NOTICE([virtport: $with_virtualport])
|
||||
AC_MSG_NOTICE([])
|
||||
@@ -2817,6 +2851,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
|
||||
@@ -2832,6 +2866,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
|
||||
else
|
||||
AC_MSG_NOTICE([ netcf: no])
|
||||
fi
|
||||
@ -69,10 +69,10 @@ Index: libvirt-0.9.11.3/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.11.3/daemon/Makefile.am
|
||||
Index: libvirt-0.9.11.4/daemon/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.11.3/daemon/Makefile.am
|
||||
--- libvirt-0.9.11.4.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.11.4/daemon/Makefile.am
|
||||
@@ -143,6 +143,10 @@ endif
|
||||
|
||||
if WITH_NETCF
|
||||
@ -84,10 +84,10 @@ Index: libvirt-0.9.11.3/daemon/Makefile.am
|
||||
endif
|
||||
|
||||
if WITH_NODE_DEVICES
|
||||
Index: libvirt-0.9.11.3/daemon/libvirtd.c
|
||||
Index: libvirt-0.9.11.4/daemon/libvirtd.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.9.11.3/daemon/libvirtd.c
|
||||
--- libvirt-0.9.11.4.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.9.11.4/daemon/libvirtd.c
|
||||
@@ -76,6 +76,10 @@
|
||||
# endif
|
||||
# ifdef WITH_NETCF
|
||||
@ -110,11 +110,11 @@ Index: libvirt-0.9.11.3/daemon/libvirtd.c
|
||||
# endif
|
||||
# ifdef WITH_STORAGE_DIR
|
||||
storageRegister();
|
||||
Index: libvirt-0.9.11.3/src/Makefile.am
|
||||
Index: libvirt-0.9.11.4/src/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/Makefile.am
|
||||
+++ libvirt-0.9.11.3/src/Makefile.am
|
||||
@@ -967,6 +967,24 @@ libvirt_driver_interface_la_LIBADD += ..
|
||||
--- libvirt-0.9.11.4.orig/src/Makefile.am
|
||||
+++ libvirt-0.9.11.4/src/Makefile.am
|
||||
@@ -970,6 +970,24 @@ libvirt_driver_interface_la_LIBADD += ..
|
||||
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
|
||||
endif
|
||||
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
|
||||
@ -139,10 +139,10 @@ Index: libvirt-0.9.11.3/src/Makefile.am
|
||||
endif
|
||||
|
||||
if WITH_SECRETS
|
||||
Index: libvirt-0.9.11.3/src/interface/netcf_driver.c
|
||||
Index: libvirt-0.9.11.4/src/interface/netcf_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/interface/netcf_driver.c
|
||||
+++ libvirt-0.9.11.3/src/interface/netcf_driver.c
|
||||
--- libvirt-0.9.11.4.orig/src/interface/netcf_driver.c
|
||||
+++ libvirt-0.9.11.4/src/interface/netcf_driver.c
|
||||
@@ -23,7 +23,13 @@
|
||||
|
||||
#include <config.h>
|
||||
@ -208,11 +208,11 @@ Index: libvirt-0.9.11.3/src/interface/netcf_driver.c
|
||||
/* open netcf */
|
||||
if (ncf_init(&driverState->netcf, NULL) != 0)
|
||||
{
|
||||
Index: libvirt-0.9.11.3/tools/virsh.c
|
||||
Index: libvirt-0.9.11.4/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/tools/virsh.c
|
||||
+++ libvirt-0.9.11.3/tools/virsh.c
|
||||
@@ -19821,6 +19821,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
||||
--- libvirt-0.9.11.4.orig/tools/virsh.c
|
||||
+++ libvirt-0.9.11.4/tools/virsh.c
|
||||
@@ -19827,6 +19827,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
||||
#endif
|
||||
#ifdef WITH_NETCF
|
||||
vshPrint(ctl, " Netcf");
|
||||
|
@ -1,3 +1,50 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 10 09:17:01 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- libvirtd.service: ensure libvirtd starts after network
|
||||
4036aa91-systemd.patch
|
||||
bnc#767932
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 22 16:26:01 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Add upstream patch to fix ref count of virNetServer object
|
||||
9c77bf04-fix-virnetserver-refcnt.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 21 11:56:35 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Fix libvirtd deadlock on shutdown
|
||||
0dda594d-libvirtd-shutdown-deadlock.patch
|
||||
bnc#767797
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 20 23:40:14 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Fix segfault in libvirt_lxc
|
||||
57349ffc-lxc-ctrl.patch
|
||||
bnc#767448
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 20 10:48:35 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Fix build on i586
|
||||
revert-d8978c90.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 19 17:48:26 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- Update to libvirt 0.9.11.4 stable release
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 12 14:18:23 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
- VUL-1: Fix hotplug support for usb devices with same vendorID,
|
||||
productID
|
||||
9914477e-usb-search-funcs.patch
|
||||
05abd150-usb-improve-hotplug.patch
|
||||
bnc#766559
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 30 16:00:38 MDT 2012 - jfehlig@suse.com
|
||||
|
||||
|
13
libvirt.spec
13
libvirt.spec
@ -327,7 +327,7 @@ BuildRequires: systemd
|
||||
|
||||
Name: libvirt
|
||||
Url: http://libvirt.org/
|
||||
Version: 0.9.11.3
|
||||
Version: 0.9.11.4
|
||||
Release: 0
|
||||
Summary: A C toolkit to interact with the virtualization capabilities of Linux
|
||||
License: LGPL-2.1+
|
||||
@ -410,6 +410,12 @@ Source1: libvirtd.init
|
||||
Source2: libvirtd-relocation-server.fw
|
||||
Source99: baselibs.conf
|
||||
# Upstream patches
|
||||
# Revert v0.9.11-maint branch commit d8978c90
|
||||
Patch0: revert-d8978c90.patch
|
||||
Patch1: 57349ffc-lxc-ctrl.patch
|
||||
Patch2: 0dda594d-libvirtd-shutdown-deadlock.patch
|
||||
Patch3: 9c77bf04-fix-virnetserver-refcnt.patch
|
||||
Patch4: 4036aa91-systemd.patch
|
||||
# Need to go upstream
|
||||
Patch100: xen-name-for-devid.patch
|
||||
Patch101: clone.patch
|
||||
@ -545,6 +551,11 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch100 -p1
|
||||
%patch101
|
||||
%patch102 -p1
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/daemon/libvirtd.conf
|
||||
Index: libvirt-0.9.11.4/daemon/libvirtd.conf
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.9.11.3/daemon/libvirtd.conf
|
||||
--- libvirt-0.9.11.4.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.9.11.4/daemon/libvirtd.conf
|
||||
@@ -18,8 +18,8 @@
|
||||
# It is necessary to setup a CA and issue server certificates before
|
||||
# using this capability.
|
||||
@ -13,10 +13,10 @@ Index: libvirt-0.9.11.3/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.11.3/daemon/libvirtd.c
|
||||
Index: libvirt-0.9.11.4/daemon/libvirtd.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.9.11.3/daemon/libvirtd.c
|
||||
--- libvirt-0.9.11.4.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.9.11.4/daemon/libvirtd.c
|
||||
@@ -872,7 +872,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||
return NULL;
|
||||
}
|
||||
|
@ -7,10 +7,10 @@ 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.11.3/src/qemu/qemu_conf.c
|
||||
Index: libvirt-0.9.11.4/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-0.9.11.3/src/qemu/qemu_conf.c
|
||||
--- libvirt-0.9.11.4.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-0.9.11.4/src/qemu/qemu_conf.c
|
||||
@@ -271,9 +271,7 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
return -1;
|
||||
}
|
||||
|
20
revert-d8978c90.patch
Normal file
20
revert-d8978c90.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Revert commit d8978c90
|
||||
|
||||
Commit d8978c90 (master commit 5c650b98) should not have been backported
|
||||
to 0.9.11 branch without master commit 97010eb1 as well.
|
||||
|
||||
|
||||
Index: libvirt-0.9.11.4/src/qemu/qemu_process.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.4.orig/src/qemu/qemu_process.c
|
||||
+++ libvirt-0.9.11.4/src/qemu/qemu_process.c
|
||||
@@ -1735,8 +1735,7 @@ cleanup:
|
||||
}
|
||||
#else
|
||||
static int
|
||||
-qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm,
|
||||
- const char *nodemask ATTRIBUTE_UNUSED)
|
||||
+qemuProcessInitNumaMemoryPolicy(virDomainObjPtr vm)
|
||||
{
|
||||
if (vm->def->numatune.memory.nodemask) {
|
||||
qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.9.11.3/src/qemu/qemu.conf
|
||||
Index: libvirt-0.9.11.4/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-0.9.11.3/src/qemu/qemu.conf
|
||||
@@ -136,7 +136,16 @@
|
||||
--- libvirt-0.9.11.4.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-0.9.11.4/src/qemu/qemu.conf
|
||||
@@ -146,7 +146,16 @@
|
||||
# leaving SELinux enabled for the host in general, then set this
|
||||
# to 'none' instead.
|
||||
#
|
||||
@ -13,15 +13,15 @@ Index: libvirt-0.9.11.3/src/qemu/qemu.conf
|
||||
+# instances. Change this to 'apparmor' to enable Apparmor
|
||||
+# confinement of qemu instances.
|
||||
+#
|
||||
# security_driver = "selinux"
|
||||
#security_driver = "selinux"
|
||||
+# 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
|
||||
@@ -317,6 +326,15 @@
|
||||
# max_processes = 0
|
||||
# max_files = 0
|
||||
@@ -319,6 +328,15 @@
|
||||
#allow_disk_format_probing = 1
|
||||
|
||||
|
||||
+# SUSE note:
|
||||
+# Many lock managers, sanlock included, will kill the resources
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/tools/Makefile.am
|
||||
Index: libvirt-0.9.11.4/tools/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/tools/Makefile.am
|
||||
+++ libvirt-0.9.11.3/tools/Makefile.am
|
||||
--- libvirt-0.9.11.4.orig/tools/Makefile.am
|
||||
+++ libvirt-0.9.11.4/tools/Makefile.am
|
||||
@@ -182,24 +182,22 @@ install-data-local: install-init install
|
||||
uninstall-local: uninstall-init uninstall-systemd
|
||||
|
||||
@ -33,10 +33,10 @@ Index: libvirt-0.9.11.3/tools/Makefile.am
|
||||
|
||||
|
||||
if LIBVIRT_INIT_SCRIPT_RED_HAT
|
||||
Index: libvirt-0.9.11.3/tools/libvirt-guests.sysconf
|
||||
Index: libvirt-0.9.11.4/tools/libvirt-guests.sysconf
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-0.9.11.3/tools/libvirt-guests.sysconf
|
||||
--- libvirt-0.9.11.4.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-0.9.11.4/tools/libvirt-guests.sysconf
|
||||
@@ -1,19 +1,29 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
+
|
||||
@ -101,10 +101,10 @@ Index: libvirt-0.9.11.3/tools/libvirt-guests.sysconf
|
||||
# some file systems.
|
||||
-#BYPASS_CACHE=0
|
||||
+BYPASS_CACHE=0
|
||||
Index: libvirt-0.9.11.3/tools/libvirt-guests.init.sh
|
||||
Index: libvirt-0.9.11.4/tools/libvirt-guests.init.sh
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/tools/libvirt-guests.init.sh
|
||||
+++ libvirt-0.9.11.3/tools/libvirt-guests.init.sh
|
||||
--- libvirt-0.9.11.4.orig/tools/libvirt-guests.init.sh
|
||||
+++ libvirt-0.9.11.4/tools/libvirt-guests.init.sh
|
||||
@@ -4,10 +4,10 @@
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
@ -230,7 +230,7 @@ Index: libvirt-0.9.11.3/tools/libvirt-guests.init.sh
|
||||
return
|
||||
fi
|
||||
fi
|
||||
@@ -504,14 +526,13 @@ gueststatus() {
|
||||
@@ -508,14 +530,13 @@ gueststatus() {
|
||||
rh_status() {
|
||||
if [ -f "$LISTFILE" ]; then
|
||||
gettext "stopped, with saved guests"; echo
|
||||
@ -246,16 +246,16 @@ Index: libvirt-0.9.11.3/tools/libvirt-guests.init.sh
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -555,4 +576,4 @@ case "$1" in
|
||||
@@ -559,4 +580,4 @@ case "$1" in
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
-exit $RETVAL
|
||||
+rc_exit
|
||||
Index: libvirt-0.9.11.3/daemon/Makefile.am
|
||||
Index: libvirt-0.9.11.4/daemon/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.11.3/daemon/Makefile.am
|
||||
--- libvirt-0.9.11.4.orig/daemon/Makefile.am
|
||||
+++ libvirt-0.9.11.4/daemon/Makefile.am
|
||||
@@ -249,22 +249,16 @@ uninstall-logrotate:
|
||||
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
|
||||
|
||||
@ -297,10 +297,10 @@ Index: libvirt-0.9.11.3/daemon/Makefile.am
|
||||
else
|
||||
install-init-redhat:
|
||||
uninstall-init-redhat:
|
||||
Index: libvirt-0.9.11.3/daemon/libvirtd.sysconf
|
||||
Index: libvirt-0.9.11.4/daemon/libvirtd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/daemon/libvirtd.sysconf
|
||||
+++ libvirt-0.9.11.3/daemon/libvirtd.sysconf
|
||||
--- libvirt-0.9.11.4.orig/daemon/libvirtd.sysconf
|
||||
+++ libvirt-0.9.11.4/daemon/libvirtd.sysconf
|
||||
@@ -1,16 +1,25 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
+
|
||||
|
@ -13,10 +13,10 @@ 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.11.3/src/xen/xend_internal.c
|
||||
Index: libvirt-0.9.11.4/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.9.11.3/src/xen/xend_internal.c
|
||||
--- libvirt-0.9.11.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.9.11.4/src/xen/xend_internal.c
|
||||
@@ -60,6 +60,7 @@
|
||||
|
||||
static int
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.9.11.3/src/xenxs/xen_sxpr.c
|
||||
Index: libvirt-0.9.11.4/src/xenxs/xen_sxpr.c
|
||||
===================================================================
|
||||
--- libvirt-0.9.11.3.orig/src/xenxs/xen_sxpr.c
|
||||
+++ libvirt-0.9.11.3/src/xenxs/xen_sxpr.c
|
||||
--- libvirt-0.9.11.4.orig/src/xenxs/xen_sxpr.c
|
||||
+++ libvirt-0.9.11.4/src/xenxs/xen_sxpr.c
|
||||
@@ -340,7 +340,7 @@ error:
|
||||
static int
|
||||
xenParseSxprDisks(virDomainDefPtr def,
|
||||
|
Loading…
Reference in New Issue
Block a user