Accepting request 131251 from Virtualization

- Update to libvirt 0.9.13
  - S390: support for s390(x)
  - snapshot: implement new APIs for esx and vbox
  - snapshot: new query APIs and many improvements
  - virsh: Allow users to reedit rejected XML
  - nwfilter: add DHCP snooping
  - storage backend: Add RBD (RADOS Block Device) support
  - sVirt support for LXC domains inprovement
  - Drop upstream patches
    0dda594d-libvirtd-shutdown-deadlock.patch
    9c77bf04-fix-virnetserver-refcnt.patch
    57349ffc-lxc-ctrl.patch
    revert-d8978c90.patch

_ Update to libvirt 0.9.12
  - qemu: allow snapshotting of sheepdog and rbd disks
  - blockjob: add new AP
  - many bug fixes and improvements

OBS-URL: https://build.opensuse.org/request/show/131251
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=102
This commit is contained in:
Ismail Dönmez 2012-08-22 12:36:35 +00:00 committed by Git OBS Bridge
commit d4377f43e9
20 changed files with 157 additions and 301 deletions

View File

@ -1,45 +0,0 @@
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);
}

View File

@ -12,10 +12,10 @@ Date: Mon Jul 9 09:52:55 2012 -0600
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
Index: libvirt-0.9.13/daemon/libvirtd.service.in
===================================================================
--- libvirt-0.9.11.4.orig/daemon/libvirtd.service.in
+++ libvirt-0.9.11.4/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

View File

@ -1,70 +0,0 @@
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

@ -21,10 +21,10 @@ Date: Mon Jul 30 12:14:54 2012 +0200
Let's make sure params stays NULL when nparams is 0.
Index: libvirt-0.9.11.4/daemon/remote.c
Index: libvirt-0.9.13/daemon/remote.c
===================================================================
--- libvirt-0.9.11.4.orig/daemon/remote.c
+++ libvirt-0.9.11.4/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;
@ -34,7 +34,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
goto no_memory;
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
@@ -1019,7 +1019,7 @@ remoteDispatchDomainGetSchedulerParamete
@@ -1073,7 +1073,7 @@ remoteDispatchDomainGetSchedulerParamete
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
@ -43,7 +43,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
goto no_memory;
if (!(dom = get_nonnull_domain(priv->conn, args->dom)))
@@ -1200,7 +1200,7 @@ remoteDispatchDomainBlockStatsFlags(virN
@@ -1254,7 +1254,7 @@ remoteDispatchDomainBlockStatsFlags(virN
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
@ -52,7 +52,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
virReportOOMError();
goto cleanup;
}
@@ -1674,7 +1674,7 @@ remoteDispatchDomainGetMemoryParameters(
@@ -1728,7 +1728,7 @@ remoteDispatchDomainGetMemoryParameters(
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
@ -61,7 +61,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
virReportOOMError();
goto cleanup;
}
@@ -1739,7 +1739,7 @@ remoteDispatchDomainGetNumaParameters(vi
@@ -1793,7 +1793,7 @@ remoteDispatchDomainGetNumaParameters(vi
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
@ -70,7 +70,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
virReportOOMError();
goto cleanup;
}
@@ -1804,7 +1804,7 @@ remoteDispatchDomainGetBlkioParameters(v
@@ -1858,7 +1858,7 @@ remoteDispatchDomainGetBlkioParameters(v
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}
@ -79,7 +79,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
virReportOOMError();
goto cleanup;
}
@@ -2064,7 +2064,7 @@ remoteDispatchDomainGetBlockIoTune(virNe
@@ -2118,7 +2118,7 @@ remoteDispatchDomainGetBlockIoTune(virNe
goto cleanup;
}
@ -88,7 +88,7 @@ Index: libvirt-0.9.11.4/daemon/remote.c
virReportOOMError();
goto cleanup;
}
@@ -3563,7 +3563,7 @@ remoteDispatchDomainGetInterfaceParamete
@@ -3621,7 +3621,7 @@ remoteDispatchDomainGetInterfaceParamete
virNetError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
goto cleanup;
}

View File

@ -1,34 +0,0 @@
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.4/src/util/virnetdev.c
Index: libvirt-0.9.13/src/util/virnetdev.c
===================================================================
--- libvirt-0.9.11.4.orig/src/util/virnetdev.c
+++ libvirt-0.9.11.4/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
static int virNetDevSetupControl(const char *ifname,
struct ifreq *ifr)
@ -11,10 +11,10 @@ Index: libvirt-0.9.11.4/src/util/virnetdev.c
}
#endif
Index: libvirt-0.9.11.4/src/util/virnetdevbridge.c
Index: libvirt-0.9.13/src/util/virnetdevbridge.c
===================================================================
--- libvirt-0.9.11.4.orig/src/util/virnetdevbridge.c
+++ libvirt-0.9.11.4/src/util/virnetdevbridge.c
--- libvirt-0.9.13.orig/src/util/virnetdevbridge.c
+++ libvirt-0.9.13/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
@@ -1454,6 +1454,9 @@ int lxcContainerStart(virDomainDefPtr de
@@ -1791,6 +1791,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;
@@ -1473,7 +1476,11 @@ int lxcContainerStart(virDomainDefPtr de
@@ -1810,7 +1813,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);
@@ -1499,6 +1506,7 @@ int lxcContainerAvailable(int features)
@@ -1836,6 +1843,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;
@@ -1506,14 +1514,21 @@ int lxcContainerAvailable(int features)
@@ -1843,14 +1851,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.4/examples/apparmor/Makefile.am
Index: libvirt-0.9.13/examples/apparmor/Makefile.am
===================================================================
--- libvirt-0.9.11.4.orig/examples/apparmor/Makefile.am
+++ libvirt-0.9.11.4/examples/apparmor/Makefile.am
--- libvirt-0.9.13.orig/examples/apparmor/Makefile.am
+++ libvirt-0.9.13/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.4/examples/apparmor/Makefile.am
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
+
+endif
Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
===================================================================
--- /dev/null
+++ libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+++ libvirt-0.9.13/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.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+ /var/lib/kvm/images/ r,
+ /var/lib/kvm/images/** r,
+}
Index: libvirt-0.9.11.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper
Index: libvirt-0.9.13/examples/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
--- libvirt-0.9.11.4.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
--- libvirt-0.9.13.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.4/examples/apparmor/usr.lib.libvirt.virt-aa-helper
- /var/lib/libvirt/images/ r,
- /var/lib/libvirt/images/** r,
-}
Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd
===================================================================
--- libvirt-0.9.11.4.orig/examples/apparmor/usr.sbin.libvirtd
--- libvirt-0.9.13.orig/examples/apparmor/usr.sbin.libvirtd
+++ /dev/null
@@ -1,52 +0,0 @@
-# Last Modified: Mon Apr 5 15:03:58 2010
@ -192,11 +192,11 @@ Index: libvirt-0.9.11.4/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.4/examples/apparmor/usr.sbin.libvirtd.in
Index: libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
===================================================================
--- /dev/null
+++ libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in
@@ -0,0 +1,58 @@
+++ libvirt-0.9.13/examples/apparmor/usr.sbin.libvirtd.in
@@ -0,0 +1,57 @@
+# Last Modified: Fri Aug 19 11:20:36 2011
+#include <tunables/global>
+@{LIBVIRT}="libvirt"
@ -222,7 +222,6 @@ Index: libvirt-0.9.11.4/examples/apparmor/usr.sbin.libvirtd.in
+ capability mknod,
+ capability fsetid,
+ capability ipc_lock,
+ capability audit_write,
+
+ network inet stream,
+ network inet dgram,
@ -255,10 +254,10 @@ Index: libvirt-0.9.11.4/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.4/examples/apparmor/libvirt-qemu
Index: libvirt-0.9.13/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-0.9.11.4.orig/examples/apparmor/libvirt-qemu
+++ libvirt-0.9.11.4/examples/apparmor/libvirt-qemu
--- libvirt-0.9.13.orig/examples/apparmor/libvirt-qemu
+++ libvirt-0.9.13/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:ba68c591b0a500188170fefc43d0dbec02f4527aeed18c5b2ebbdc5ca91bca56
size 13792390

3
libvirt-0.9.13.tar.bz2 Normal file
View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.11.4/configure.ac
Index: libvirt-0.9.13/configure.ac
===================================================================
--- libvirt-0.9.11.4.orig/configure.ac
+++ libvirt-0.9.11.4/configure.ac
--- libvirt-0.9.13.orig/configure.ac
+++ libvirt-0.9.13/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.4/configure.ac
UDEV_REQUIRED=145
PCIACCESS_REQUIRED=0.10.0
XMLRPC_REQUIRED=1.14.0
@@ -1756,6 +1757,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
@@ -1796,6 +1797,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
AC_SUBST([NETCF_CFLAGS])
AC_SUBST([NETCF_LIBS])
@ -49,7 +49,7 @@ Index: libvirt-0.9.11.4/configure.ac
AC_ARG_WITH([secrets],
AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes])
@@ -2701,6 +2734,7 @@ AC_MSG_NOTICE([ Remote: $with_remote])
@@ -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])
@ -57,7 +57,7 @@ Index: libvirt-0.9.11.4/configure.ac
AC_MSG_NOTICE([ macvtap: $with_macvtap])
AC_MSG_NOTICE([virtport: $with_virtualport])
AC_MSG_NOTICE([])
@@ -2832,6 +2866,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
@@ -2942,6 +2976,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
else
AC_MSG_NOTICE([ netcf: no])
fi
@ -69,11 +69,11 @@ Index: libvirt-0.9.11.4/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.4/daemon/Makefile.am
Index: libvirt-0.9.13/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
--- 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
@ -84,10 +84,10 @@ Index: libvirt-0.9.11.4/daemon/Makefile.am
endif
if WITH_NODE_DEVICES
Index: libvirt-0.9.11.4/daemon/libvirtd.c
Index: libvirt-0.9.13/daemon/libvirtd.c
===================================================================
--- libvirt-0.9.11.4.orig/daemon/libvirtd.c
+++ libvirt-0.9.11.4/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
@ -97,9 +97,9 @@ Index: libvirt-0.9.11.4/daemon/libvirtd.c
+# include "interface/netcf_driver.h"
+# endif
# endif
# ifdef WITH_STORAGE_DIR
# ifdef WITH_STORAGE
# include "storage/storage_driver.h"
@@ -415,6 +419,10 @@ static void daemonInitialize(void)
@@ -402,6 +406,10 @@ static void daemonInitialize(void)
# endif
# ifdef WITH_NETCF
interfaceRegister();
@ -108,13 +108,13 @@ Index: libvirt-0.9.11.4/daemon/libvirtd.c
+ interfaceRegister();
+# endif
# endif
# ifdef WITH_STORAGE_DIR
# ifdef WITH_STORAGE
storageRegister();
Index: libvirt-0.9.11.4/src/Makefile.am
Index: libvirt-0.9.13/src/Makefile.am
===================================================================
--- 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-0.9.13.orig/src/Makefile.am
+++ libvirt-0.9.13/src/Makefile.am
@@ -941,6 +941,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.4/src/Makefile.am
endif
if WITH_SECRETS
Index: libvirt-0.9.11.4/src/interface/netcf_driver.c
Index: libvirt-0.9.13/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
--- libvirt-0.9.13.orig/src/interface/netcf_driver.c
+++ libvirt-0.9.13/src/interface/netcf_driver.c
@@ -23,7 +23,13 @@
#include <config.h>
@ -208,18 +208,18 @@ Index: libvirt-0.9.11.4/src/interface/netcf_driver.c
/* open netcf */
if (ncf_init(&driverState->netcf, NULL) != 0)
{
Index: libvirt-0.9.11.4/tools/virsh.c
Index: libvirt-0.9.13/tools/virsh.c
===================================================================
--- 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
--- 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, " Netcf");
vshPrint(ctl, " Interface");
+#else
+#ifdef WITH_NETCONTROL
+ vshPrint(ctl, " NetControl");
+#endif
+# ifdef WITH_NETCONTROL
+ vshPrint(ctl, " Interface");
+# endif
#endif
#ifdef WITH_NWFILTER
vshPrint(ctl, " Nwfilter");

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Wed Aug 8 11:42:28 MDT 2012 - jfehlig@suse.com
- Update to libvirt 0.9.13
- S390: support for s390(x)
- snapshot: implement new APIs for esx and vbox
- snapshot: new query APIs and many improvements
- virsh: Allow users to reedit rejected XML
- nwfilter: add DHCP snooping
- storage backend: Add RBD (RADOS Block Device) support
- sVirt support for LXC domains inprovement
- Drop upstream patches
0dda594d-libvirtd-shutdown-deadlock.patch
9c77bf04-fix-virnetserver-refcnt.patch
57349ffc-lxc-ctrl.patch
revert-d8978c90.patch
-------------------------------------------------------------------
Mon Aug 6 18:02:14 MDT 2012 - jfehlig@suse.com
_ Update to libvirt 0.9.12
- qemu: allow snapshotting of sheepdog and rbd disks
- blockjob: add new AP
- many bug fixes and improvements
-------------------------------------------------------------------
Wed Aug 1 11:42:58 MDT 2012 - jfehlig@suse.com

View File

@ -26,6 +26,9 @@
%define server_drivers 1
%endif
# Do not build with dlopen'd modules for now
%define with_driver_modules 0
# Now set the defaults for all the important features, independent
# of any particular OS
@ -327,7 +330,7 @@ BuildRequires: systemd
Name: libvirt
Url: http://libvirt.org/
Version: 0.9.11.4
Version: 0.9.13
Release: 0
Summary: A C toolkit to interact with the virtualization capabilities of Linux
License: LGPL-2.1+
@ -410,13 +413,8 @@ 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
Patch5: 6039a2cb-CVE-2012-3445.patch
Patch0: 4036aa91-systemd.patch
Patch1: 6039a2cb-CVE-2012-3445.patch
# Need to go upstream
Patch100: xen-name-for-devid.patch
Patch101: clone.patch
@ -554,10 +552,6 @@ Authors:
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch100 -p1
%patch101
%patch102 -p1
@ -696,6 +690,9 @@ Authors:
%else
%define init_scripts --with-init_script=redhat
%endif
%if ! %{with_driver_modules}
%define _without_driver_modules --without-driver-modules
%endif
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS"
@ -738,6 +735,7 @@ export CFLAGS="$RPM_OPT_FLAGS"
%{?_without_python} \
%{?_without_libpcap} \
%{?_without_sanlock} \
%{?_without_driver_modules} \
--libexecdir=%{_libdir}/%{name} \
--with-qemu-user=%{qemu_user} \
--with-qemu-group=%{qemu_group} \

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.11.4/daemon/libvirtd.conf
Index: libvirt-0.9.13/daemon/libvirtd.conf
===================================================================
--- libvirt-0.9.11.4.orig/daemon/libvirtd.conf
+++ libvirt-0.9.11.4/daemon/libvirtd.conf
--- libvirt-0.9.13.orig/daemon/libvirtd.conf
+++ libvirt-0.9.13/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.11.4/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.4/daemon/libvirtd.c
Index: libvirt-0.9.13/daemon/libvirtd-config.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
--- 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
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.4/src/qemu/qemu_conf.c
Index: libvirt-0.9.13/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
--- 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
return -1;
}

View File

@ -1,20 +0,0 @@
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,7 +1,7 @@
Index: libvirt-0.9.11.4/src/qemu/qemu.conf
Index: libvirt-0.9.13/src/qemu/qemu.conf
===================================================================
--- libvirt-0.9.11.4.orig/src/qemu/qemu.conf
+++ libvirt-0.9.11.4/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.

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.11.4/tools/Makefile.am
Index: libvirt-0.9.13/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
--- 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
uninstall-local: uninstall-init uninstall-systemd
install-sysconfig:
@ -33,10 +33,10 @@ Index: libvirt-0.9.11.4/tools/Makefile.am
if LIBVIRT_INIT_SCRIPT_RED_HAT
Index: libvirt-0.9.11.4/tools/libvirt-guests.sysconf
Index: libvirt-0.9.13/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-0.9.11.4.orig/tools/libvirt-guests.sysconf
+++ libvirt-0.9.11.4/tools/libvirt-guests.sysconf
--- libvirt-0.9.13.orig/tools/libvirt-guests.sysconf
+++ libvirt-0.9.13/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt
+
@ -101,10 +101,10 @@ Index: libvirt-0.9.11.4/tools/libvirt-guests.sysconf
# some file systems.
-#BYPASS_CACHE=0
+BYPASS_CACHE=0
Index: libvirt-0.9.11.4/tools/libvirt-guests.init.sh
Index: libvirt-0.9.13/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
--- libvirt-0.9.13.orig/tools/libvirt-guests.init.sh
+++ libvirt-0.9.13/tools/libvirt-guests.init.sh
@@ -4,10 +4,10 @@
#
### BEGIN INIT INFO
@ -252,11 +252,11 @@ Index: libvirt-0.9.11.4/tools/libvirt-guests.init.sh
esac
-exit $RETVAL
+rc_exit
Index: libvirt-0.9.11.4/daemon/Makefile.am
Index: libvirt-0.9.13/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:
--- libvirt-0.9.13.orig/daemon/Makefile.am
+++ libvirt-0.9.13/daemon/Makefile.am
@@ -256,39 +256,23 @@ uninstall-logrotate:
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
install-sysconfig:
@ -264,43 +264,46 @@ Index: libvirt-0.9.11.4/daemon/Makefile.am
+ $(MKDIR_P) $(DESTDIR)$(localstatedir)/adm/fillup-templates
$(INSTALL_DATA) $(srcdir)/libvirtd.sysconf \
- $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd
+
uninstall-sysconfig:
-uninstall-sysconfig:
- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirtd
- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
+ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd
+ $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd
if WITH_SYSCTL
install-sysctl:
-if WITH_SYSCTL
-install-sysctl:
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysctl.d
- $(INSTALL_DATA) $(srcdir)/libvirtd.sysctl \
- $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd
-
uninstall-sysctl:
+uninstall-sysconfig:
+ rm -f $(DESTDIR)$(localstatedir)/adm/fillup-templates/sysconfig.libvirtd
-uninstall-sysctl:
- rm -f $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd
- rmdir $(DESTDIR)$(sysconfdir)/sysctl.d || :
else
-else
install-sysctl:
uninstall-sysctl:
@@ -275,13 +269,7 @@ if LIBVIRT_INIT_SCRIPT_RED_HAT
-endif
if LIBVIRT_INIT_SCRIPT_RED_HAT
BUILT_SOURCES += libvirtd.init
install-init-redhat: install-sysconfig libvirtd.init
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
- $(INSTALL_SCRIPT) libvirtd.init \
- $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
-
uninstall-init-redhat: uninstall-sysconfig
- rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
- rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
else
install-init-redhat:
uninstall-init-redhat:
Index: libvirt-0.9.11.4/daemon/libvirtd.sysconf
Index: libvirt-0.9.13/daemon/libvirtd.sysconf
===================================================================
--- libvirt-0.9.11.4.orig/daemon/libvirtd.sysconf
+++ libvirt-0.9.11.4/daemon/libvirtd.sysconf
--- libvirt-0.9.13.orig/daemon/libvirtd.sysconf
+++ libvirt-0.9.13/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.4/src/xen/xend_internal.c
Index: libvirt-0.9.13/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
--- libvirt-0.9.13.orig/src/xen/xend_internal.c
+++ libvirt-0.9.13/src/xen/xend_internal.c
@@ -60,6 +60,7 @@
static int

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.11.4/src/xenxs/xen_sxpr.c
Index: libvirt-0.9.13/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
--- libvirt-0.9.13.orig/src/xenxs/xen_sxpr.c
+++ libvirt-0.9.13/src/xenxs/xen_sxpr.c
@@ -340,7 +340,7 @@ error:
static int
xenParseSxprDisks(virDomainDefPtr def,