SHA256
1
0
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:
Ismail Dönmez 2012-07-12 08:48:10 +00:00 committed by Git OBS Bridge
commit 2cc7392cfb
19 changed files with 344 additions and 91 deletions

View 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
View 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
View 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);
}

View 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++)

View File

@ -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)

View File

@ -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;

View File

@ -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,

View File

@ -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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba68c591b0a500188170fefc43d0dbec02f4527aeed18c5b2ebbdc5ca91bca56
size 13792390

View File

@ -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");

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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
View 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",

View File

@ -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

View File

@ -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
+

View File

@ -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

View File

@ -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,