Accepting request 337509 from Virtualization

Add a SLE12 SP1 bug fix to Factory too.

- spec: the libvirt apparmor profiles #include files from the
  apparmor-profiles package, thus should have a dependency on it
  bsc#949793

- Remove Wants=xencommons.service from libvirtd.service
  xencommons is already enabled by a global preset, and the
  absence of xen-tools.rpm causes a systemd warning

- Update to libvirt 1.2.20
  - Many incremental improvements and bug fixes, see
    http://libvirt.org/news.html
  - Dropped upstream patches:
    3468542f-virFileUnlink.patch,
    8b1d84e6-refreshVol-failure.patch,
    e0025d29-storage-mode-check.patch,
    ba25c214-libxl-log-level.patch,
    56945e13-libxl-AttachDeviceConfig-hostdev.patch

OBS-URL: https://build.opensuse.org/request/show/337509
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=190
This commit is contained in:
Stephan Kulow 2015-10-12 08:02:52 +00:00 committed by Git OBS Bridge
commit 95dd8bd0f2
28 changed files with 135 additions and 462 deletions

View File

@ -1,179 +0,0 @@
From 3468542f06f6f5dc94defa1603c6a6adea3e2da8 Mon Sep 17 00:00:00 2001
From: John Ferlan <jferlan@redhat.com>
Date: Mon, 24 Aug 2015 17:00:02 -0400
Subject: [PATCH] virfile: Introduce virFileUnlink
In an NFS root-squashed environment the 'vol-delete' command will fail to
'unlink' the target volume since it was created under a different uid:gid.
This code continues the concepts introduced in virFileOpenForked and
virDirCreate[NoFork] with respect to running the unlink command under
the uid/gid of the child. Unlike the other two, don't retry on EACCES
(that's why we're here doing this now).
(cherry picked from commit 35847860f65f92e444db9730e00cdaef45198e0c)
---
src/libvirt_private.syms | 1 +
src/storage/storage_backend_fs.c | 3 +-
src/util/virfile.c | 106 +++++++++++++++++++++++++++++++++++++++
src/util/virfile.h | 1 +
4 files changed, 110 insertions(+), 1 deletion(-)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index d57bf5b..a96c985 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1462,6 +1462,7 @@ virFileSanitizePath;
virFileSkipRoot;
virFileStripSuffix;
virFileTouch;
+virFileUnlink;
virFileUnlock;
virFileUpdatePerm;
virFileWaitForDevices;
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index c0ea1df..f41a41e 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -1203,7 +1203,8 @@ virStorageBackendFileSystemVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
switch ((virStorageVolType) vol->type) {
case VIR_STORAGE_VOL_FILE:
- if (unlink(vol->target.path) < 0) {
+ if (virFileUnlink(vol->target.path, vol->target.perms->uid,
+ vol->target.perms->gid) < 0) {
/* Silently ignore failures where the vol has already gone away */
if (errno != ENOENT) {
virReportSystemError(errno,
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 5f64186..7b14ee8 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -2306,6 +2306,112 @@ virFileOpenAs(const char *path, int openflags, mode_t mode,
return ret;
}
+
+/* virFileUnlink:
+ * @path: file to unlink
+ * @uid: uid that was used to create the file (not required)
+ * @gid: gid that was used to create the file (not required)
+ *
+ * If a file/volume was created in an NFS root-squash environment,
+ * then we must 'unlink' the file in the same environment. Unlike
+ * the virFileOpenAs[Forked] and virDirCreate[NoFork], this code
+ * takes no extra flags and does not bother with EACCES failures
+ * from the child.
+ */
+int
+virFileUnlink(const char *path,
+ uid_t uid,
+ gid_t gid)
+{
+ pid_t pid;
+ int waitret;
+ int status, ret = 0;
+ gid_t *groups;
+ int ngroups;
+
+ /* If not running as root or if a non explicit uid/gid was being used for
+ * the file/volume, then use unlink directly
+ */
+ if ((geteuid() != 0) ||
+ ((uid == (uid_t) -1) && (gid == (gid_t) -1)))
+ return unlink(path);
+
+ /* Otherwise, we have to deal with the NFS root-squash craziness
+ * to run under the uid/gid that created the volume in order to
+ * perform the unlink of the volume.
+ */
+ if (uid == (uid_t) -1)
+ uid = geteuid();
+ if (gid == (gid_t) -1)
+ gid = getegid();
+
+ ngroups = virGetGroupList(uid, gid, &groups);
+ if (ngroups < 0)
+ return -errno;
+
+ pid = virFork();
+
+ if (pid < 0) {
+ ret = -errno;
+ VIR_FREE(groups);
+ return ret;
+ }
+
+ if (pid) { /* parent */
+ /* wait for child to complete, and retrieve its exit code */
+ VIR_FREE(groups);
+
+ while ((waitret = waitpid(pid, &status, 0)) == -1 && errno == EINTR);
+ if (waitret == -1) {
+ ret = -errno;
+ virReportSystemError(errno,
+ _("failed to wait for child unlinking '%s'"),
+ path);
+ goto parenterror;
+ }
+
+ /*
+ * If waitpid succeeded, but if the child exited abnormally or
+ * reported non-zero status, report failure
+ */
+ if (!WIFEXITED(status) || (WEXITSTATUS(status)) != 0) {
+ char *msg = virProcessTranslateStatus(status);
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("child failed to unlink '%s': %s"),
+ path, msg);
+ VIR_FREE(msg);
+ if (WIFEXITED(status))
+ ret = -WEXITSTATUS(status);
+ else
+ ret = -EACCES;
+ }
+
+ parenterror:
+ return ret;
+ }
+
+ /* child */
+
+ /* set desired uid/gid, then attempt to unlink the file */
+ if (virSetUIDGID(uid, gid, groups, ngroups) < 0) {
+ ret = errno;
+ goto childerror;
+ }
+
+ if (unlink(path) < 0) {
+ ret = errno;
+ goto childerror;
+ }
+
+ childerror:
+ if ((ret & 0xff) != ret) {
+ VIR_WARN("unable to pass desired return value %d", ret);
+ ret = 0xff;
+ }
+ _exit(ret);
+}
+
+
/* return -errno on failure, or 0 on success */
static int
virDirCreateNoFork(const char *path,
diff --git a/src/util/virfile.h b/src/util/virfile.h
index 2d27e89..797ca65 100644
--- a/src/util/virfile.h
+++ b/src/util/virfile.h
@@ -219,6 +219,7 @@ int virFileOpenAs(const char *path, int openflags, mode_t mode,
uid_t uid, gid_t gid,
unsigned int flags)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
+int virFileUnlink(const char *path, uid_t uid, gid_t gid);
enum {
VIR_DIR_CREATE_NONE = 0,
--
2.1.4

View File

@ -1,26 +0,0 @@
commit 56945e1374bd254148643d76a98fba9be67fba15
Author: Chunyan Liu <cyliu@suse.com>
Date: Thu Sep 17 01:15:22 2015 -0400
libxl: fix AttachDeviceConfig on hostdev type
After attach-device a <hostdev> with --config, new device doesn't
show up in dumpxml and in guest.
To fix that, set dev->data.hostdev = NULL after work so that the
pointer is not freed, since vmdef has the pointer and still need it.
Signed-off-by: Chunyan Liu <cyliu@suse.com>
Index: libvirt-1.2.19/src/libxl/libxl_driver.c
===================================================================
--- libvirt-1.2.19.orig/src/libxl/libxl_driver.c
+++ libvirt-1.2.19/src/libxl/libxl_driver.c
@@ -3311,6 +3311,7 @@ libxlDomainAttachDeviceConfig(virDomainD
if (virDomainHostdevInsert(vmdef, hostdev) < 0)
return -1;
+ dev->data.hostdev = NULL;
break;
default:

View File

@ -1,39 +0,0 @@
From 8b1d84e640f1a6e6ebb47caf23a664e2f651b32d Mon Sep 17 00:00:00 2001
From: John Ferlan <jferlan@redhat.com>
Date: Mon, 24 Aug 2015 12:38:13 -0400
Subject: [PATCH] storage: Handle failure from refreshVol
Commit id '155ca616' added the 'refreshVol' API. In an NFS root-squash
environment it was possible that if the just created volume from XML wasn't
properly created with the right uid/gid and/or mode, then the followup
refreshVol will fail to open the volume in order to get the allocation/
capacity values. This would leave the volume still on the server and
cause a libvirtd crash because 'voldef' would be in the pool list, but
the cleanup code would free it.
(cherry picked from commit db9277a39bc364806e8d3e08a08fc128d59b7094)
---
src/storage/storage_driver.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index ea7e0f3..0494e5d 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1867,8 +1867,12 @@ storageVolCreateXML(virStoragePoolPtr obj,
}
if (backend->refreshVol &&
- backend->refreshVol(obj->conn, pool, voldef) < 0)
+ backend->refreshVol(obj->conn, pool, voldef) < 0) {
+ storageVolDeleteInternal(volobj, backend, pool, voldef,
+ 0, false);
+ voldef = NULL;
goto cleanup;
+ }
/* Update pool metadata ignoring the disk backend since
* it updates the pool values.
--
2.1.4

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/examples/apparmor/libvirt-qemu Index: libvirt-1.2.20/examples/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/examples/apparmor/libvirt-qemu --- libvirt-1.2.20.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.2.19/examples/apparmor/libvirt-qemu +++ libvirt-1.2.20/examples/apparmor/libvirt-qemu
@@ -124,6 +124,9 @@ @@ -124,6 +124,9 @@
# for restore # for restore
/bin/bash rmix, /bin/bash rmix,

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/examples/apparmor/libvirt-lxc Index: libvirt-1.2.20/examples/apparmor/libvirt-lxc
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/examples/apparmor/libvirt-lxc --- libvirt-1.2.20.orig/examples/apparmor/libvirt-lxc
+++ libvirt-1.2.19/examples/apparmor/libvirt-lxc +++ libvirt-1.2.20/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@ @@ -2,39 +2,15 @@
#include <abstractions/base> #include <abstractions/base>

View File

@ -1,51 +0,0 @@
commit ba25c214f7c622c75448e760f3204844cfff50d0
Author: Jim Fehlig <jfehlig@suse.com>
Date: Tue Sep 15 08:17:44 2015 -0600
libxl: open libxl log stream with libvirtd log_level
Instead of a hardcoded DEBUG log level, use the overall
daemon log level specified in libvirtd.conf when opening
a log stream with libxl. libxl is very verbose when DEBUG
log level is set, resulting in huge log files that can
potentially fill a disk. Control of libxl verbosity should
be placed in the administrator's hands.
Index: libvirt-1.2.18/src/libxl/libxl_conf.c
===================================================================
--- libvirt-1.2.18.orig/src/libxl/libxl_conf.c
+++ libvirt-1.2.18/src/libxl/libxl_conf.c
@@ -1495,6 +1495,7 @@ libxlDriverConfigNew(void)
{
libxlDriverConfigPtr cfg;
char *log_file = NULL;
+ xentoollog_level log_level;
char ebuf[1024];
unsigned int free_mem;
@@ -1539,9 +1540,24 @@ libxlDriverConfigNew(void)
}
VIR_FREE(log_file);
+ switch (virLogGetDefaultPriority()) {
+ case VIR_LOG_DEBUG:
+ log_level = XTL_DEBUG;
+ break;
+ case VIR_LOG_INFO:
+ log_level = XTL_INFO;
+ break;
+ case VIR_LOG_WARN:
+ log_level = XTL_WARN;
+ break;
+ case VIR_LOG_ERROR:
+ log_level = XTL_ERROR;
+ break;
+ }
+
cfg->logger =
(xentoollog_logger *)xtl_createlogger_stdiostream(cfg->logger_file,
- XTL_DEBUG, XTL_STDIOSTREAM_SHOW_DATE);
+ log_level, XTL_STDIOSTREAM_SHOW_DATE);
if (!cfg->logger) {
VIR_ERROR(_("cannot create logger for libxenlight, disabling driver"));
goto error;

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++ src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
Index: libvirt-1.2.19/src/qemu/qemu_driver.c Index: libvirt-1.2.20/src/qemu/qemu_driver.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/qemu/qemu_driver.c --- libvirt-1.2.20.orig/src/qemu/qemu_driver.c
+++ libvirt-1.2.19/src/qemu/qemu_driver.c +++ libvirt-1.2.20/src/qemu/qemu_driver.c
@@ -16725,6 +16725,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt @@ -16715,6 +16715,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
_("non-file destination not supported yet")); _("non-file destination not supported yet"));
goto endjob; goto endjob;
} }

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/tests/vircgrouptest.c Index: libvirt-1.2.20/tests/vircgrouptest.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/tests/vircgrouptest.c --- libvirt-1.2.20.orig/tests/vircgrouptest.c
+++ libvirt-1.2.19/tests/vircgrouptest.c +++ libvirt-1.2.20/tests/vircgrouptest.c
@@ -34,7 +34,6 @@ @@ -34,7 +34,6 @@
# include "virfile.h" # include "virfile.h"
# include "virbuffer.h" # include "virbuffer.h"

View File

@ -1,49 +0,0 @@
From e0025d2967bbe3f283937216c9e2c12b6e9d1010 Mon Sep 17 00:00:00 2001
From: John Ferlan <jferlan@redhat.com>
Date: Mon, 24 Aug 2015 12:48:40 -0400
Subject: [PATCH] storage: Correct the 'mode' check
Commit id '7c2d65dde2' changed the default value of mode to be -1 if not
supplied in the XML, which should cause creation of the volume using the
default mode of VIR_STORAGE_DEFAULT_VOL_PERM_MODE; however, the check
made was whether mode was '0' or not to use default or provided value.
This patch fixes the issue to check if the 'mode' was provided in the XML
and use that value.
(cherry picked from commit 691dd388aee99f8b06177540303b690586d5f5b3)
---
src/storage/storage_backend.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index 0418473..6a3146c 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -486,6 +486,7 @@ virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
int fd = -1;
int operation_flags;
bool reflink_copy = false;
+ mode_t open_mode = VIR_STORAGE_DEFAULT_VOL_PERM_MODE;
virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA |
VIR_STORAGE_VOL_CREATE_REFLINK,
@@ -518,11 +519,12 @@ virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
if (pool->def->type == VIR_STORAGE_POOL_NETFS)
operation_flags |= VIR_FILE_OPEN_FORK;
+ if (vol->target.perms->mode != (mode_t) -1)
+ open_mode = vol->target.perms->mode;
+
if ((fd = virFileOpenAs(vol->target.path,
O_RDWR | O_CREAT | O_EXCL,
- (vol->target.perms->mode ?
- VIR_STORAGE_DEFAULT_VOL_PERM_MODE :
- vol->target.perms->mode),
+ open_mode,
vol->target.perms->uid,
vol->target.perms->gid,
operation_flags)) < 0) {
--
2.1.4

View File

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

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlXmXeUACgkQRga4pd6VvB8MvACeIqDMC1ZMGFeKSiUw6xTC0Akl
cusAniPTkksLFvJoW6fOT0Ugj+qweZhH
=a6x0
-----END PGP SIGNATURE-----

3
libvirt-1.2.20.tar.gz Normal file
View File

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

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlYOZogACgkQRga4pd6VvB81/gCfUzhmlAupEd/nodU/igjSLW4f
Aj8AnA0otXxndyGQY54umen+urYrINrJ
=900+
-----END PGP SIGNATURE-----

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests init files to conform to SUSE standards Adjust libvirt-guests init files to conform to SUSE standards
Index: libvirt-1.2.19/tools/libvirt-guests.init.in Index: libvirt-1.2.20/tools/libvirt-guests.init.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/tools/libvirt-guests.init.in --- libvirt-1.2.20.orig/tools/libvirt-guests.init.in
+++ libvirt-1.2.19/tools/libvirt-guests.init.in +++ libvirt-1.2.20/tools/libvirt-guests.init.in
@@ -3,15 +3,15 @@ @@ -3,15 +3,15 @@
# the following is the LSB init header # the following is the LSB init header
# #
@ -28,10 +28,10 @@ Index: libvirt-1.2.19/tools/libvirt-guests.init.in
### END INIT INFO ### END INIT INFO
# the following is chkconfig init header # the following is chkconfig init header
Index: libvirt-1.2.19/tools/libvirt-guests.sh.in Index: libvirt-1.2.20/tools/libvirt-guests.sh.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/tools/libvirt-guests.sh.in --- libvirt-1.2.20.orig/tools/libvirt-guests.sh.in
+++ libvirt-1.2.19/tools/libvirt-guests.sh.in +++ libvirt-1.2.20/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@ @@ -16,14 +16,13 @@
# License along with this library. If not, see # License along with this library. If not, see
# <http://www.gnu.org/licenses/>. # <http://www.gnu.org/licenses/>.
@ -191,10 +191,10 @@ Index: libvirt-1.2.19/tools/libvirt-guests.sh.in
esac esac
-exit $RETVAL -exit $RETVAL
+rc_exit +rc_exit
Index: libvirt-1.2.19/tools/libvirt-guests.sysconf Index: libvirt-1.2.20/tools/libvirt-guests.sysconf
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/tools/libvirt-guests.sysconf --- libvirt-1.2.20.orig/tools/libvirt-guests.sysconf
+++ libvirt-1.2.19/tools/libvirt-guests.sysconf +++ libvirt-1.2.20/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@ @@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests +## Path: System/Virtualization/libvirt-guests
+ +

View File

@ -1,8 +1,8 @@
Index: libvirt-1.2.19/src/cpu/cpu_map.xml Index: libvirt-1.2.20/src/cpu/cpu_map.xml
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/cpu/cpu_map.xml --- libvirt-1.2.20.orig/src/cpu/cpu_map.xml
+++ libvirt-1.2.19/src/cpu/cpu_map.xml +++ libvirt-1.2.20/src/cpu/cpu_map.xml
@@ -1376,6 +1376,16 @@ @@ -1424,6 +1424,16 @@
<pvr value='0x004d0000' mask='0xffff0000'/> <pvr value='0x004d0000' mask='0xffff0000'/>
</model> </model>

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/configure.ac Index: libvirt-1.2.20/configure.ac
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/configure.ac --- libvirt-1.2.20.orig/configure.ac
+++ libvirt-1.2.19/configure.ac +++ libvirt-1.2.20/configure.ac
@@ -242,6 +242,7 @@ LIBVIRT_CHECK_FUSE @@ -242,6 +242,7 @@ LIBVIRT_CHECK_FUSE
LIBVIRT_CHECK_GLUSTER LIBVIRT_CHECK_GLUSTER
LIBVIRT_CHECK_HAL LIBVIRT_CHECK_HAL
@ -10,7 +10,7 @@ Index: libvirt-1.2.19/configure.ac
LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_OPENWSMAN
LIBVIRT_CHECK_PCIACCESS LIBVIRT_CHECK_PCIACCESS
@@ -2486,11 +2487,12 @@ if test "$with_libvirtd" = "no" ; then @@ -2482,11 +2483,12 @@ if test "$with_libvirtd" = "no" ; then
with_interface=no with_interface=no
fi fi
@ -26,7 +26,7 @@ Index: libvirt-1.2.19/configure.ac
esac esac
if test "$with_interface" = "yes" ; then if test "$with_interface" = "yes" ; then
@@ -2883,6 +2885,7 @@ LIBVIRT_RESULT_FUSE @@ -2880,6 +2882,7 @@ LIBVIRT_RESULT_FUSE
LIBVIRT_RESULT_GLUSTER LIBVIRT_RESULT_GLUSTER
LIBVIRT_RESULT_HAL LIBVIRT_RESULT_HAL
LIBVIRT_RESULT_NETCF LIBVIRT_RESULT_NETCF
@ -34,11 +34,11 @@ Index: libvirt-1.2.19/configure.ac
LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN LIBVIRT_RESULT_OPENWSMAN
LIBVIRT_RESULT_PCIACCESS LIBVIRT_RESULT_PCIACCESS
Index: libvirt-1.2.19/src/Makefile.am Index: libvirt-1.2.20/src/Makefile.am
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/Makefile.am --- libvirt-1.2.20.orig/src/Makefile.am
+++ libvirt-1.2.19/src/Makefile.am +++ libvirt-1.2.20/src/Makefile.am
@@ -879,6 +879,10 @@ if WITH_NETCF @@ -880,6 +880,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \ INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c interface/interface_backend_netcf.c
endif WITH_NETCF endif WITH_NETCF
@ -49,7 +49,7 @@ Index: libvirt-1.2.19/src/Makefile.am
if WITH_UDEV if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \ INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c interface/interface_backend_udev.c
@@ -1504,6 +1508,10 @@ if WITH_NETCF @@ -1505,6 +1509,10 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
endif WITH_NETCF endif WITH_NETCF
@ -60,11 +60,11 @@ Index: libvirt-1.2.19/src/Makefile.am
if WITH_UDEV if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
Index: libvirt-1.2.19/tools/virsh.c Index: libvirt-1.2.20/tools/virsh.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/tools/virsh.c --- libvirt-1.2.20.orig/tools/virsh.c
+++ libvirt-1.2.19/tools/virsh.c +++ libvirt-1.2.20/tools/virsh.c
@@ -557,6 +557,8 @@ virshShowVersion(vshControl *ctl ATTRIBU @@ -588,6 +588,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface"); vshPrint(ctl, " Interface");
# if defined(WITH_NETCF) # if defined(WITH_NETCF)
vshPrint(ctl, " netcf"); vshPrint(ctl, " netcf");
@ -73,10 +73,10 @@ Index: libvirt-1.2.19/tools/virsh.c
# elif defined(WITH_UDEV) # elif defined(WITH_UDEV)
vshPrint(ctl, " udev"); vshPrint(ctl, " udev");
# endif # endif
Index: libvirt-1.2.19/src/interface/interface_backend_netcf.c Index: libvirt-1.2.20/src/interface/interface_backend_netcf.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/interface/interface_backend_netcf.c --- libvirt-1.2.20.orig/src/interface/interface_backend_netcf.c
+++ libvirt-1.2.19/src/interface/interface_backend_netcf.c +++ libvirt-1.2.20/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@ @@ -23,7 +23,12 @@
#include <config.h> #include <config.h>
@ -160,10 +160,10 @@ Index: libvirt-1.2.19/src/interface/interface_backend_netcf.c
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
return -1; return -1;
if (virRegisterStateDriver(&interfaceStateDriver) < 0) if (virRegisterStateDriver(&interfaceStateDriver) < 0)
Index: libvirt-1.2.19/src/interface/interface_driver.c Index: libvirt-1.2.20/src/interface/interface_driver.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/interface/interface_driver.c --- libvirt-1.2.20.orig/src/interface/interface_driver.c
+++ libvirt-1.2.19/src/interface/interface_driver.c +++ libvirt-1.2.20/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void) @@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0) if (netcfIfaceRegister() == 0)
return 0; return 0;
@ -181,10 +181,10 @@ Index: libvirt-1.2.19/src/interface/interface_driver.c
if (udevIfaceRegister() == 0) if (udevIfaceRegister() == 0)
return 0; return 0;
#endif /* WITH_UDEV */ #endif /* WITH_UDEV */
Index: libvirt-1.2.19/m4/virt-netcontrol.m4 Index: libvirt-1.2.20/m4/virt-netcontrol.m4
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-1.2.19/m4/virt-netcontrol.m4 +++ libvirt-1.2.20/m4/virt-netcontrol.m4
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
+dnl The libnetcontrol library +dnl The libnetcontrol library
+dnl +dnl

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Fri Oct 9 17:11:14 UTC 2015 - jfehlig@suse.com
- spec: the libvirt apparmor profiles #include files from the
apparmor-profiles package, thus should have a dependency on it
bsc#949793
-------------------------------------------------------------------
Wed Oct 7 12:44:47 UTC 2015 - olaf@aepfle.de
- Remove Wants=xencommons.service from libvirtd.service
xencommons is already enabled by a global preset, and the
absence of xen-tools.rpm causes a systemd warning
-------------------------------------------------------------------
Thu Oct 2 17:28:17 UTC 2015 - jfehlig@suse.com
- Update to libvirt 1.2.20
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped upstream patches:
3468542f-virFileUnlink.patch,
8b1d84e6-refreshVol-failure.patch,
e0025d29-storage-mode-check.patch,
ba25c214-libxl-log-level.patch,
56945e13-libxl-AttachDeviceConfig-hostdev.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Sep 17 05:29:23 UTC 2015 - cyliu@suse.com Thu Sep 17 05:29:23 UTC 2015 - cyliu@suse.com

View File

@ -240,7 +240,7 @@
Name: libvirt Name: libvirt
Url: http://libvirt.org/ Url: http://libvirt.org/
Version: 1.2.19 Version: 1.2.20
Release: 0 Release: 0
Summary: Library providing a simple virtualization API Summary: Library providing a simple virtualization API
License: LGPL-2.1+ License: LGPL-2.1+
@ -446,11 +446,6 @@ Source3: libvirtd.init
Source4: libvirtd-relocation-server.fw Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf Source99: baselibs.conf
# Upstream patches # Upstream patches
Patch0: 3468542f-virFileUnlink.patch
Patch1: 8b1d84e6-refreshVol-failure.patch
Patch2: e0025d29-storage-mode-check.patch
Patch3: ba25c214-libxl-log-level.patch
Patch4: 56945e13-libxl-AttachDeviceConfig-hostdev.patch
# Patches pending upstream review # Patches pending upstream review
# Need to go upstream # Need to go upstream
Patch150: xen-pv-cdrom.patch Patch150: xen-pv-cdrom.patch
@ -522,6 +517,7 @@ Requires: iproute
Requires: logrotate Requires: logrotate
%if %{with_apparmor} %if %{with_apparmor}
Requires: apparmor-parser Requires: apparmor-parser
Requires: apparmor-profiles
%endif %endif
%if %{with_udev} %if %{with_udev}
@ -981,11 +977,6 @@ Provides a dissector for the libvirt RPC protocol to help debugging it.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch150 -p1 %patch150 -p1
%patch151 -p1 %patch151 -p1
%patch152 -p1 %patch152 -p1
@ -1220,7 +1211,7 @@ gzip -9 ChangeLog
%install %install
%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} %makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap domtop for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap domtop rename
do do
(cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in) (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
done done
@ -1566,7 +1557,7 @@ fi
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%{_datadir}/augeas/lenses/libvirtd_qemu.aug %{_datadir}/augeas/lenses/libvirtd_qemu.aug

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/daemon/libvirtd.conf Index: libvirt-1.2.20/daemon/libvirtd.conf
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/libvirtd.conf --- libvirt-1.2.20.orig/daemon/libvirtd.conf
+++ libvirt-1.2.19/daemon/libvirtd.conf +++ libvirt-1.2.20/daemon/libvirtd.conf
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before # It is necessary to setup a CA and issue server certificates before
# using this capability. # using this capability.
@ -13,10 +13,10 @@ Index: libvirt-1.2.19/daemon/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port. # Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to # NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-1.2.19/daemon/libvirtd-config.c Index: libvirt-1.2.20/daemon/libvirtd-config.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/libvirtd-config.c --- libvirt-1.2.20.orig/daemon/libvirtd-config.c
+++ libvirt-1.2.19/daemon/libvirtd-config.c +++ libvirt-1.2.20/daemon/libvirtd-config.c
@@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT @@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0) if (VIR_ALLOC(data) < 0)
return NULL; return NULL;
@ -26,10 +26,10 @@ Index: libvirt-1.2.19/daemon/libvirtd-config.c
data->listen_tcp = 0; data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-1.2.19/daemon/test_libvirtd.aug.in Index: libvirt-1.2.20/daemon/test_libvirtd.aug.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/test_libvirtd.aug.in --- libvirt-1.2.20.orig/daemon/test_libvirtd.aug.in
+++ libvirt-1.2.19/daemon/test_libvirtd.aug.in +++ libvirt-1.2.20/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd = @@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG:: ::CONFIG::

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-1.2.19/daemon/libvirtd.sysconf Index: libvirt-1.2.20/daemon/libvirtd.sysconf
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/libvirtd.sysconf --- libvirt-1.2.20.orig/daemon/libvirtd.sysconf
+++ libvirt-1.2.19/daemon/libvirtd.sysconf +++ libvirt-1.2.20/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@ @@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
+ +

View File

@ -9,10 +9,10 @@ as
See bsc#933043 See bsc#933043
Index: libvirt-1.2.19/daemon/libvirtd.socket.in Index: libvirt-1.2.20/daemon/libvirtd.socket.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/libvirtd.socket.in --- libvirt-1.2.20.orig/daemon/libvirtd.socket.in
+++ libvirt-1.2.19/daemon/libvirtd.socket.in +++ libvirt-1.2.20/daemon/libvirtd.socket.in
@@ -2,10 +2,8 @@ @@ -2,10 +2,8 @@
ListenStream=@runstatedir@/libvirt/libvirt-sock ListenStream=@runstatedir@/libvirt/libvirt-sock
ListenStream=@runstatedir@/libvirt/libvirt-sock-ro ListenStream=@runstatedir@/libvirt/libvirt-sock-ro

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956 See bnc#894956
Index: libvirt-1.2.19/src/util/virarch.c Index: libvirt-1.2.20/src/util/virarch.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/util/virarch.c --- libvirt-1.2.20.orig/src/util/virarch.c
+++ libvirt-1.2.19/src/util/virarch.c +++ libvirt-1.2.20/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void) @@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686; arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) { } else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/examples/apparmor/libvirt-qemu Index: libvirt-1.2.20/examples/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/examples/apparmor/libvirt-qemu --- libvirt-1.2.20.orig/examples/apparmor/libvirt-qemu
+++ libvirt-1.2.19/examples/apparmor/libvirt-qemu +++ libvirt-1.2.20/examples/apparmor/libvirt-qemu
@@ -133,6 +133,9 @@ @@ -133,6 +133,9 @@
/sys/bus/ r, /sys/bus/ r,
/sys/class/ r, /sys/class/ r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-) 2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-1.2.19/src/xenconfig/xen_common.c Index: libvirt-1.2.20/src/xenconfig/xen_common.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/xenconfig/xen_common.c --- libvirt-1.2.20.orig/src/xenconfig/xen_common.c
+++ libvirt-1.2.19/src/xenconfig/xen_common.c +++ libvirt-1.2.20/src/xenconfig/xen_common.c
@@ -403,6 +403,8 @@ xenParsePCI(virConfPtr conf, virDomainDe @@ -403,6 +403,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{ {
virConfValuePtr list = virConfGetValue(conf, "pci"); virConfValuePtr list = virConfGetValue(conf, "pci");
@ -66,10 +66,10 @@ Index: libvirt-1.2.19/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID; hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-1.2.19/src/xenconfig/xen_sxpr.c Index: libvirt-1.2.20/src/xenconfig/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/xenconfig/xen_sxpr.c --- libvirt-1.2.20.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.2.19/src/xenconfig/xen_sxpr.c +++ libvirt-1.2.20/src/xenconfig/xen_sxpr.c
@@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def, @@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID; int busID;
int slotID; int slotID;
@ -93,7 +93,7 @@ Index: libvirt-1.2.19/src/xenconfig/xen_sxpr.c
dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
dev->source.subsys.u.pci.addr.domain = domainID; dev->source.subsys.u.pci.addr.domain = domainID;
dev->source.subsys.u.pci.addr.bus = busID; dev->source.subsys.u.pci.addr.bus = busID;
@@ -2012,11 +2015,15 @@ static void @@ -2013,11 +2016,15 @@ static void
xenFormatSxprPCI(virDomainHostdevDefPtr def, xenFormatSxprPCI(virDomainHostdevDefPtr def,
virBufferPtr buf) virBufferPtr buf)
{ {
@ -110,7 +110,7 @@ Index: libvirt-1.2.19/src/xenconfig/xen_sxpr.c
} }
@@ -2035,12 +2042,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP @@ -2036,12 +2043,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
virBufferPtr buf, virBufferPtr buf,
int detach) int detach)
{ {
@ -123,7 +123,7 @@ Index: libvirt-1.2.19/src/xenconfig/xen_sxpr.c
virBufferAddLit(buf, "(pci "); virBufferAddLit(buf, "(pci ");
xenFormatSxprPCI(def, buf); xenFormatSxprPCI(def, buf);
if (detach) if (detach)
@@ -2095,12 +2096,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, @@ -2096,12 +2097,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
for (i = 0; i < def->nhostdevs; i++) { for (i = 0; i < def->nhostdevs; i++) {
if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/src/qemu/qemu.conf Index: libvirt-1.2.20/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/qemu/qemu.conf --- libvirt-1.2.20.orig/src/qemu/qemu.conf
+++ libvirt-1.2.19/src/qemu/qemu.conf +++ libvirt-1.2.20/src/qemu/qemu.conf
@@ -201,11 +201,20 @@ @@ -201,11 +201,20 @@
# isolation, but it cannot appear in a list of drivers. # isolation, but it cannot appear in a list of drivers.
# #

View File

@ -1,12 +1,11 @@
Index: libvirt-1.2.19/daemon/libvirtd.service.in Index: libvirt-1.2.20/daemon/libvirtd.service.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/daemon/libvirtd.service.in --- libvirt-1.2.20.orig/daemon/libvirtd.service.in
+++ libvirt-1.2.19/daemon/libvirtd.service.in +++ libvirt-1.2.20/daemon/libvirtd.service.in
@@ -7,6 +7,8 @@ After=iscsid.service @@ -7,6 +7,7 @@ After=iscsid.service
After=apparmor.service After=apparmor.service
After=local-fs.target After=local-fs.target
After=remote-fs.target After=remote-fs.target
+Wants=xencommons.service
+After=xencommons.service +After=xencommons.service
Documentation=man:libvirtd(8) Documentation=man:libvirtd(8)
Documentation=http://libvirt.org Documentation=http://libvirt.org

View File

@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards Adjust virtlockd init files to conform to SUSE standards
Index: libvirt-1.2.19/src/locking/virtlockd.sysconf Index: libvirt-1.2.20/src/locking/virtlockd.sysconf
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/locking/virtlockd.sysconf --- libvirt-1.2.20.orig/src/locking/virtlockd.sysconf
+++ libvirt-1.2.19/src/locking/virtlockd.sysconf +++ libvirt-1.2.20/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd +## Path: System/Virtualization/virtlockd
+ +
@ -12,10 +12,10 @@ Index: libvirt-1.2.19/src/locking/virtlockd.sysconf
# #
# Pass extra arguments to virtlockd # Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS= #VIRTLOCKD_ARGS=
Index: libvirt-1.2.19/src/locking/virtlockd.init.in Index: libvirt-1.2.20/src/locking/virtlockd.init.in
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/locking/virtlockd.init.in --- libvirt-1.2.20.orig/src/locking/virtlockd.init.in
+++ libvirt-1.2.19/src/locking/virtlockd.init.in +++ libvirt-1.2.20/src/locking/virtlockd.init.in
@@ -4,12 +4,14 @@ @@ -4,12 +4,14 @@
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV # http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
# #

View File

@ -1,7 +1,7 @@
Index: libvirt-1.2.19/src/xenconfig/xen_sxpr.c Index: libvirt-1.2.20/src/xenconfig/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-1.2.19.orig/src/xenconfig/xen_sxpr.c --- libvirt-1.2.20.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-1.2.19/src/xenconfig/xen_sxpr.c +++ libvirt-1.2.20/src/xenconfig/xen_sxpr.c
@@ -334,7 +334,7 @@ xenParseSxprChar(const char *value, @@ -334,7 +334,7 @@ xenParseSxprChar(const char *value,
static int static int
xenParseSxprDisks(virDomainDefPtr def, xenParseSxprDisks(virDomainDefPtr def,