Accepting request 295137 from Virtualization
1 OBS-URL: https://build.opensuse.org/request/show/295137 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=175
This commit is contained in:
commit
8b02f73712
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/examples/apparmor/libvirt-qemu
|
Index: libvirt-1.2.14/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-1.2.14.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-1.2.13/examples/apparmor/libvirt-qemu
|
+++ libvirt-1.2.14/examples/apparmor/libvirt-qemu
|
||||||
@@ -59,6 +59,7 @@
|
@@ -59,6 +59,7 @@
|
||||||
# access to firmware's etc
|
# access to firmware's etc
|
||||||
/usr/share/kvm/** r,
|
/usr/share/kvm/** r,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/examples/apparmor/libvirt-lxc
|
Index: libvirt-1.2.14/examples/apparmor/libvirt-lxc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/examples/apparmor/libvirt-lxc
|
--- libvirt-1.2.14.orig/examples/apparmor/libvirt-lxc
|
||||||
+++ libvirt-1.2.13/examples/apparmor/libvirt-lxc
|
+++ libvirt-1.2.14/examples/apparmor/libvirt-lxc
|
||||||
@@ -2,39 +2,15 @@
|
@@ -2,39 +2,15 @@
|
||||||
|
|
||||||
#include <abstractions/base>
|
#include <abstractions/base>
|
||||||
|
@ -11,13 +11,13 @@ 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.13/src/qemu/qemu_driver.c
|
Index: libvirt-1.2.14/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/qemu/qemu_driver.c
|
--- libvirt-1.2.14.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-1.2.13/src/qemu/qemu_driver.c
|
+++ libvirt-1.2.14/src/qemu/qemu_driver.c
|
||||||
@@ -16129,6 +16129,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
@@ -16644,6 +16644,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
||||||
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
|
|
||||||
_("non-file destination not supported yet"));
|
_("non-file destination not supported yet"));
|
||||||
|
goto endjob;
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ if (STREQ_NULLABLE(realpath(disk->src->path, NULL),
|
+ if (STREQ_NULLABLE(realpath(disk->src->path, NULL),
|
||||||
|
38
da33a1ac-lxc-init-statedir.patch
Normal file
38
da33a1ac-lxc-init-statedir.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From da33a1ac1f6c0ae2ebe72bc385bbc7c407026956 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
Date: Wed, 8 Apr 2015 19:16:52 +0200
|
||||||
|
Subject: [PATCH] lxc: create the required directories upon driver start
|
||||||
|
|
||||||
|
/var/run may reside on a tmpfs and we fail to create the PID file if
|
||||||
|
/var/run/lxc does not exist.
|
||||||
|
|
||||||
|
Since commit 0a8addc1, the lxc driver's state directory isn't
|
||||||
|
automatically created before starting a domain. Now, the lxc driver
|
||||||
|
makes sure the state directory exists when it initializes.
|
||||||
|
|
||||||
|
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
---
|
||||||
|
src/lxc/lxc_driver.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
|
||||||
|
index 245000d..8dfa686 100644
|
||||||
|
--- a/src/lxc/lxc_driver.c
|
||||||
|
+++ b/src/lxc/lxc_driver.c
|
||||||
|
@@ -1648,6 +1648,13 @@ static int lxcStateInitialize(bool privileged,
|
||||||
|
if (!(caps = virLXCDriverGetCapabilities(lxc_driver, false)))
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
+ if (virFileMakePath(cfg->stateDir) < 0) {
|
||||||
|
+ virReportSystemError(errno,
|
||||||
|
+ _("Failed to mkdir %s"),
|
||||||
|
+ cfg->stateDir);
|
||||||
|
+ goto cleanup;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Get all the running persistent or transient configs first */
|
||||||
|
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||||
|
cfg->stateDir,
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
tests: disable hugepages-pages6 test on ppc architectures
|
|
||||||
|
|
||||||
hugepages-pages6 test in qemuxml2argvtest fails on all ppc, ppc64,
|
|
||||||
and ppc64le with the following error:
|
|
||||||
|
|
||||||
libvirt: QEMU Driver error : internal error: hugepage backing not
|
|
||||||
supported by '/usr/bin/qemu'.
|
|
||||||
|
|
||||||
Disable the test by applying this patch for arch in 'ppc ppc64 ppc64le'.
|
|
||||||
|
|
||||||
Index: libvirt-1.2.12/tests/qemuxml2argvtest.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-1.2.12.orig/tests/qemuxml2argvtest.c
|
|
||||||
+++ libvirt-1.2.12/tests/qemuxml2argvtest.c
|
|
||||||
@@ -716,7 +716,6 @@ mymain(void)
|
|
||||||
DO_TEST_FAILURE("hugepages-pages4", QEMU_CAPS_MEM_PATH,
|
|
||||||
QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE);
|
|
||||||
DO_TEST("hugepages-pages5", QEMU_CAPS_MEM_PATH);
|
|
||||||
- DO_TEST("hugepages-pages6", NONE);
|
|
||||||
DO_TEST("nosharepages", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MEM_MERGE);
|
|
||||||
DO_TEST("disk-cdrom", NONE);
|
|
||||||
DO_TEST("disk-cdrom-network-http", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
|
|
@ -1,16 +1,16 @@
|
|||||||
Index: libvirt-1.2.13/tests/vircgrouptest.c
|
Index: libvirt-1.2.14/tests/vircgrouptest.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/tests/vircgrouptest.c
|
--- libvirt-1.2.14.orig/tests/vircgrouptest.c
|
||||||
+++ libvirt-1.2.13/tests/vircgrouptest.c
|
+++ libvirt-1.2.14/tests/vircgrouptest.c
|
||||||
@@ -33,7 +33,6 @@
|
@@ -34,7 +34,6 @@
|
||||||
# include "virlog.h"
|
|
||||||
# include "virfile.h"
|
# include "virfile.h"
|
||||||
|
# include "virbuffer.h"
|
||||||
# include "testutilslxc.h"
|
# include "testutilslxc.h"
|
||||||
-# include "nodeinfo.h"
|
-# include "nodeinfo.h"
|
||||||
|
|
||||||
# define VIR_FROM_THIS VIR_FROM_NONE
|
# define VIR_FROM_THIS VIR_FROM_NONE
|
||||||
|
|
||||||
@@ -533,91 +532,6 @@ static int testCgroupAvailable(const voi
|
@@ -586,91 +585,6 @@ static int testCgroupAvailable(const voi
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ Index: libvirt-1.2.13/tests/vircgrouptest.c
|
|||||||
static int testCgroupGetMemoryUsage(const void *args ATTRIBUTE_UNUSED)
|
static int testCgroupGetMemoryUsage(const void *args ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
virCgroupPtr cgroup = NULL;
|
virCgroupPtr cgroup = NULL;
|
||||||
@@ -823,9 +737,6 @@ mymain(void)
|
@@ -895,9 +809,6 @@ mymain(void)
|
||||||
if (virtTestRun("virCgroupGetMemoryUsage works", testCgroupGetMemoryUsage, NULL) < 0)
|
if (virtTestRun("virCgroupGetMemoryUsage works", testCgroupGetMemoryUsage, NULL) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
Fix PCI device attach in xend driver
|
|
||||||
|
|
||||||
When attaching PCI device using the xend driver, the 'device_create'
|
|
||||||
RPC is called, which is not sufficient to fully prepare/configure
|
|
||||||
the device for attachment to a domain. In the xen tools, xm pci-attach
|
|
||||||
uses the 'device_configure' RPC.
|
|
||||||
|
|
||||||
This patch changes the xend driver to always call 'device_configure' for
|
|
||||||
PCI devices to be consistent with the usage in the xen tools.
|
|
||||||
|
|
||||||
Index: libvirt-1.2.13/src/xen/xend_internal.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-1.2.13.orig/src/xen/xend_internal.c
|
|
||||||
+++ libvirt-1.2.13/src/xen/xend_internal.c
|
|
||||||
@@ -2216,6 +2216,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
|
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
|
||||||
char class[8], ref[80];
|
|
||||||
char *target = NULL;
|
|
||||||
+ int new_dev;
|
|
||||||
|
|
||||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
|
|
||||||
|
|
||||||
@@ -2314,8 +2315,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
|
|
||||||
}
|
|
||||||
|
|
||||||
sexpr = virBufferContentAndReset(&buf);
|
|
||||||
+ new_dev = virDomainXMLDevID(conn, minidef, dev, class, ref, sizeof(ref));
|
|
||||||
|
|
||||||
- if (virDomainXMLDevID(conn, minidef, dev, class, ref, sizeof(ref))) {
|
|
||||||
+ /* always call 'device_configure' for pci device */
|
|
||||||
+ if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
|
|
||||||
+ dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
|
|
||||||
+ dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
|
|
||||||
+ ret = xend_op(conn, def->name, "op", "device_configure",
|
|
||||||
+ "config", sexpr, "dev", ref, NULL);
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (new_dev) {
|
|
||||||
/* device doesn't exist, define it */
|
|
||||||
ret = xend_op(conn, def->name, "op", "device_create",
|
|
||||||
"config", sexpr, NULL);
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:944163d93949db61f49eace85838b1bd55ce855e88b014df16c50fd2102bdaf6
|
|
||||||
size 30861600
|
|
@ -1,7 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
Version: GnuPG v1
|
|
||||||
|
|
||||||
iEYEABECAAYFAlTz2rcACgkQRga4pd6VvB85+gCeLPbCKrp12D69dbcjucQ9JtOw
|
|
||||||
BfQAoI6GJ5ZSsudyTcIB76rt0haEA6Au
|
|
||||||
=KAmO
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libvirt-1.2.14.tar.gz
Normal file
3
libvirt-1.2.14.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b8e8e6f1fc91eb8694fa21f9c57a736fa4a5af10562e14e4aa2c7e23510c4c07
|
||||||
|
size 28947850
|
7
libvirt-1.2.14.tar.gz.asc
Normal file
7
libvirt-1.2.14.tar.gz.asc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
iEYEABECAAYFAlUc9BMACgkQRga4pd6VvB9YcwCeKTfxcm3uFtYaWRJVLLygtIHV
|
||||||
|
cdYAnRTKsdMBJBTSzlFRLvKt1rBGtsVo
|
||||||
|
=LYrN
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -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.13/tools/libvirt-guests.init.in
|
Index: libvirt-1.2.14/tools/libvirt-guests.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/tools/libvirt-guests.init.in
|
--- libvirt-1.2.14.orig/tools/libvirt-guests.init.in
|
||||||
+++ libvirt-1.2.13/tools/libvirt-guests.init.in
|
+++ libvirt-1.2.14/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.13/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.13/tools/libvirt-guests.sh.in
|
Index: libvirt-1.2.14/tools/libvirt-guests.sh.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/tools/libvirt-guests.sh.in
|
--- libvirt-1.2.14.orig/tools/libvirt-guests.sh.in
|
||||||
+++ libvirt-1.2.13/tools/libvirt-guests.sh.in
|
+++ libvirt-1.2.14/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.13/tools/libvirt-guests.sh.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-1.2.13/tools/libvirt-guests.sysconf
|
Index: libvirt-1.2.14/tools/libvirt-guests.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/tools/libvirt-guests.sysconf
|
--- libvirt-1.2.14.orig/tools/libvirt-guests.sysconf
|
||||||
+++ libvirt-1.2.13/tools/libvirt-guests.sysconf
|
+++ libvirt-1.2.14/tools/libvirt-guests.sysconf
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,29 @@
|
||||||
+## Path: System/Virtualization/libvirt-guests
|
+## Path: System/Virtualization/libvirt-guests
|
||||||
+
|
+
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-1.2.13/src/cpu/cpu_map.xml
|
Index: libvirt-1.2.14/src/cpu/cpu_map.xml
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/cpu/cpu_map.xml
|
--- libvirt-1.2.14.orig/src/cpu/cpu_map.xml
|
||||||
+++ libvirt-1.2.13/src/cpu/cpu_map.xml
|
+++ libvirt-1.2.14/src/cpu/cpu_map.xml
|
||||||
@@ -658,6 +658,16 @@
|
@@ -668,6 +668,16 @@
|
||||||
<pvr value='0x004d0000'/>
|
<pvr value='0x004d0000'/>
|
||||||
</model>
|
</model>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/configure.ac
|
Index: libvirt-1.2.14/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/configure.ac
|
--- libvirt-1.2.14.orig/configure.ac
|
||||||
+++ libvirt-1.2.13/configure.ac
|
+++ libvirt-1.2.14/configure.ac
|
||||||
@@ -237,6 +237,7 @@ LIBVIRT_CHECK_FUSE
|
@@ -237,6 +237,7 @@ LIBVIRT_CHECK_FUSE
|
||||||
LIBVIRT_CHECK_GLUSTER
|
LIBVIRT_CHECK_GLUSTER
|
||||||
LIBVIRT_CHECK_HAL
|
LIBVIRT_CHECK_HAL
|
||||||
@ -10,7 +10,7 @@ Index: libvirt-1.2.13/configure.ac
|
|||||||
LIBVIRT_CHECK_NUMACTL
|
LIBVIRT_CHECK_NUMACTL
|
||||||
LIBVIRT_CHECK_OPENWSMAN
|
LIBVIRT_CHECK_OPENWSMAN
|
||||||
LIBVIRT_CHECK_PCIACCESS
|
LIBVIRT_CHECK_PCIACCESS
|
||||||
@@ -2466,11 +2467,12 @@ if test "$with_libvirtd" = "no" ; then
|
@@ -2495,11 +2496,12 @@ if test "$with_libvirtd" = "no" ; then
|
||||||
with_interface=no
|
with_interface=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ Index: libvirt-1.2.13/configure.ac
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$with_interface" = "yes" ; then
|
if test "$with_interface" = "yes" ; then
|
||||||
@@ -2922,6 +2924,7 @@ LIBVIRT_RESULT_FUSE
|
@@ -2887,6 +2889,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.13/configure.ac
|
|||||||
LIBVIRT_RESULT_NUMACTL
|
LIBVIRT_RESULT_NUMACTL
|
||||||
LIBVIRT_RESULT_OPENWSMAN
|
LIBVIRT_RESULT_OPENWSMAN
|
||||||
LIBVIRT_RESULT_PCIACCESS
|
LIBVIRT_RESULT_PCIACCESS
|
||||||
Index: libvirt-1.2.13/src/Makefile.am
|
Index: libvirt-1.2.14/src/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/Makefile.am
|
--- libvirt-1.2.14.orig/src/Makefile.am
|
||||||
+++ libvirt-1.2.13/src/Makefile.am
|
+++ libvirt-1.2.14/src/Makefile.am
|
||||||
@@ -845,6 +845,10 @@ if WITH_NETCF
|
@@ -847,6 +847,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,26 +49,21 @@ Index: libvirt-1.2.13/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
|
||||||
@@ -1457,10 +1461,15 @@ if WITH_NETCF
|
@@ -1455,6 +1459,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)
|
||||||
else ! WITH_NETCF
|
endif WITH_NETCF
|
||||||
+if WITH_NETCONTROL
|
+if WITH_NETCONTROL
|
||||||
+libvirt_driver_interface_la_CFLAGS += $(NETCONTROL_CFLAGS)
|
+libvirt_driver_interface_la_CFLAGS += $(NETCONTROL_CFLAGS)
|
||||||
+libvirt_driver_interface_la_LIBADD += $(NETCONTROL_LIBS)
|
+libvirt_driver_interface_la_LIBADD += $(NETCONTROL_LIBS)
|
||||||
+else ! WITH_NETCONTROL
|
+endif WITH_NETCONTROL
|
||||||
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)
|
||||||
endif WITH_UDEV
|
Index: libvirt-1.2.14/tools/virsh.c
|
||||||
+endif ! WITH_NETCONTROL
|
|
||||||
endif ! WITH_NETCF
|
|
||||||
if WITH_DRIVER_MODULES
|
|
||||||
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
|
|
||||||
Index: libvirt-1.2.13/tools/virsh.c
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/tools/virsh.c
|
--- libvirt-1.2.14.orig/tools/virsh.c
|
||||||
+++ libvirt-1.2.13/tools/virsh.c
|
+++ libvirt-1.2.14/tools/virsh.c
|
||||||
@@ -3360,6 +3360,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
@@ -3360,6 +3360,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
|
||||||
vshPrint(ctl, " Interface");
|
vshPrint(ctl, " Interface");
|
||||||
# if defined(WITH_NETCF)
|
# if defined(WITH_NETCF)
|
||||||
@ -78,10 +73,10 @@ Index: libvirt-1.2.13/tools/virsh.c
|
|||||||
# elif defined(WITH_UDEV)
|
# elif defined(WITH_UDEV)
|
||||||
vshPrint(ctl, " udev");
|
vshPrint(ctl, " udev");
|
||||||
# endif
|
# endif
|
||||||
Index: libvirt-1.2.13/src/interface/interface_backend_netcf.c
|
Index: libvirt-1.2.14/src/interface/interface_backend_netcf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/interface/interface_backend_netcf.c
|
--- libvirt-1.2.14.orig/src/interface/interface_backend_netcf.c
|
||||||
+++ libvirt-1.2.13/src/interface/interface_backend_netcf.c
|
+++ libvirt-1.2.14/src/interface/interface_backend_netcf.c
|
||||||
@@ -23,7 +23,12 @@
|
@@ -23,7 +23,12 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@ -165,10 +160,10 @@ Index: libvirt-1.2.13/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.13/src/interface/interface_driver.c
|
Index: libvirt-1.2.14/src/interface/interface_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/interface/interface_driver.c
|
--- libvirt-1.2.14.orig/src/interface/interface_driver.c
|
||||||
+++ libvirt-1.2.13/src/interface/interface_driver.c
|
+++ libvirt-1.2.14/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;
|
||||||
@ -186,10 +181,10 @@ Index: libvirt-1.2.13/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.13/m4/virt-netcontrol.m4
|
Index: libvirt-1.2.14/m4/virt-netcontrol.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-1.2.13/m4/virt-netcontrol.m4
|
+++ libvirt-1.2.14/m4/virt-netcontrol.m4
|
||||||
@@ -0,0 +1,35 @@
|
@@ -0,0 +1,35 @@
|
||||||
+dnl The libnetcontrol library
|
+dnl The libnetcontrol library
|
||||||
+dnl
|
+dnl
|
||||||
|
@ -1,3 +1,41 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 9 09:35:26 UTC 2015 - cbosdonnat@suse.com
|
||||||
|
|
||||||
|
- boo#926153: make sure /var/run/libvirt/lxc folder exists when
|
||||||
|
starting the driver. da33a1ac-lxc-init-statedir.patch
|
||||||
|
- Fix lxc-enter-namespace for 3.19+ kernels.
|
||||||
|
open-ns-files-readonly.patch
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 2 08:38:03 MDT 2015 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Disable building wireshark dissector. Commit 37397320
|
||||||
|
requires wireshark pkgconfig, which SUSE wireshark packages
|
||||||
|
do not provide.
|
||||||
|
- Disable building the legacy Xen driver since Xen no longer
|
||||||
|
provides the xend toolstack. Remove xend-specific patches
|
||||||
|
while at it: fix-pci-attach-xen-driver.patch,
|
||||||
|
xen-name-for-devid.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 2 08:18:55 MDT 2015 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Update to libvirt 1.2.14
|
||||||
|
- qemu: Implement memory device hotplug
|
||||||
|
- Implement public API for virDomainPinIOThread
|
||||||
|
- Implement public API for virDomainGetIOThreadsInfo
|
||||||
|
- SRIOV NIC offload feature discovery
|
||||||
|
- Many incremental improvements and bug fixes, see
|
||||||
|
http://libvirt.org/news.html
|
||||||
|
- Drop disable-hugepage-test.patch in favor of upstream fix
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 31 14:39:20 MDT 2015 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Fix build on older distros containing a polkit package that lacks
|
||||||
|
support for /etc/polkit-1/rules.d drop directory
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Mar 25 09:10:46 MDT 2015 - jfehlig@suse.com
|
Wed Mar 25 09:10:46 MDT 2015 - jfehlig@suse.com
|
||||||
|
|
||||||
|
68
libvirt.spec
68
libvirt.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libvirt
|
# spec file for package libvirt
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -77,6 +77,7 @@
|
|||||||
%define with_netcontrol 0%{!?_without_netcontrol:%{server_drivers}}
|
%define with_netcontrol 0%{!?_without_netcontrol:%{server_drivers}}
|
||||||
|
|
||||||
# A few optional bits off by default, we enable later
|
# A few optional bits off by default, we enable later
|
||||||
|
%define with_polkit_rules 0
|
||||||
%define with_capng 0%{!?_without_capng:0}
|
%define with_capng 0%{!?_without_capng:0}
|
||||||
%define with_fuse 0%{!?_without_fuse:0}
|
%define with_fuse 0%{!?_without_fuse:0}
|
||||||
%define with_netcf 0%{!?_without_netcf:0}
|
%define with_netcf 0%{!?_without_netcf:0}
|
||||||
@ -90,8 +91,12 @@
|
|||||||
%define with_numad 0%{!?_without_numad:0}
|
%define with_numad 0%{!?_without_numad:0}
|
||||||
%define with_firewalld 0%{!?_without_firewalld:0}
|
%define with_firewalld 0%{!?_without_firewalld:0}
|
||||||
%define with_libssh2 0%{!?_without_libssh2:0}
|
%define with_libssh2 0%{!?_without_libssh2:0}
|
||||||
|
%define with_wireshark 0%{!?_without_wireshark:0}
|
||||||
%define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
|
%define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
|
||||||
|
|
||||||
|
# Xen no longer contains xm/xend so disable building the legacy Xen driver
|
||||||
|
%define with_xen 0%{!?_without_xen:0}
|
||||||
|
|
||||||
# Non-server/HV driver defaults which are always enabled
|
# Non-server/HV driver defaults which are always enabled
|
||||||
%define with_sasl 0%{!?_without_sasl:1}
|
%define with_sasl 0%{!?_without_sasl:1}
|
||||||
|
|
||||||
@ -168,6 +173,11 @@
|
|||||||
%define with_libssh2 0%{!?_without_libssh2:1}
|
%define with_libssh2 0%{!?_without_libssh2:1}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# libvirt commit 37397320 changed the configure check for wireshark to
|
||||||
|
# use pkgconfig, but our wireshark packages do not provide wireshark.pc.
|
||||||
|
# Disable the dissector for now
|
||||||
|
%define with_wireshark 0
|
||||||
|
|
||||||
# Disable some drivers when building without libvirt daemon.
|
# Disable some drivers when building without libvirt daemon.
|
||||||
# The logic is the same as in configure.ac
|
# The logic is the same as in configure.ac
|
||||||
%if ! %{with_libvirtd}
|
%if ! %{with_libvirtd}
|
||||||
@ -235,7 +245,7 @@
|
|||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Url: http://libvirt.org/
|
Url: http://libvirt.org/
|
||||||
Version: 1.2.13
|
Version: 1.2.14
|
||||||
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+
|
||||||
@ -362,6 +372,9 @@ BuildRequires: ebtables
|
|||||||
BuildRequires: cyrus-sasl-devel
|
BuildRequires: cyrus-sasl-devel
|
||||||
%endif
|
%endif
|
||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
|
%if 0%{?suse_version} > 1140
|
||||||
|
%define with_polkit_rules 1
|
||||||
|
%endif
|
||||||
%if 0%{?suse_version} > 1110
|
%if 0%{?suse_version} > 1110
|
||||||
BuildRequires: polkit >= 0.9
|
BuildRequires: polkit >= 0.9
|
||||||
BuildRequires: polkit-devel >= 0.9
|
BuildRequires: polkit-devel >= 0.9
|
||||||
@ -424,7 +437,7 @@ BuildRequires: systemtap-sdt-devel
|
|||||||
%if %{with_numad}
|
%if %{with_numad}
|
||||||
BuildRequires: numad
|
BuildRequires: numad
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version} >= 1210
|
%if %{with_wireshark}
|
||||||
BuildRequires: wireshark-devel
|
BuildRequires: wireshark-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -436,28 +449,25 @@ Source4: libvirtd-relocation-server.fw
|
|||||||
Source5: polkit-10-virt.rules
|
Source5: polkit-10-virt.rules
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
|
Patch0: da33a1ac-lxc-init-statedir.patch
|
||||||
# Patches pending upstream review
|
# Patches pending upstream review
|
||||||
|
Patch100: open-ns-files-readonly.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch150: xen-name-for-devid.patch
|
Patch150: xen-pv-cdrom.patch
|
||||||
Patch151: xen-pv-cdrom.patch
|
Patch151: blockcopy-check-dst-identical-device.patch
|
||||||
Patch152: blockcopy-check-dst-identical-device.patch
|
Patch152: libvirt-power8-models.patch
|
||||||
Patch153: libvirt-power8-models.patch
|
Patch153: ppc64le-canonical-name.patch
|
||||||
Patch154: ppc64le-canonical-name.patch
|
Patch154: apparmor-fixes.patch
|
||||||
Patch155: apparmor-fixes.patch
|
|
||||||
# Our patches
|
# Our patches
|
||||||
Patch200: libvirtd-defaults.patch
|
Patch200: libvirtd-defaults.patch
|
||||||
Patch201: libvirtd-init-script.patch
|
Patch201: libvirtd-init-script.patch
|
||||||
Patch202: libvirt-guests-init-script.patch
|
Patch202: libvirt-guests-init-script.patch
|
||||||
Patch203: virtlockd-init-script.patch
|
Patch203: virtlockd-init-script.patch
|
||||||
Patch204: suse-qemu-conf.patch
|
Patch204: suse-qemu-conf.patch
|
||||||
Patch205: fix-pci-attach-xen-driver.patch
|
Patch205: support-managed-pci-xen-driver.patch
|
||||||
Patch206: support-managed-pci-xen-driver.patch
|
Patch206: systemd-service-xen.patch
|
||||||
Patch207: systemd-service-xen.patch
|
|
||||||
# Disable failing virCgroupGetPercpuStats unit test
|
# Disable failing virCgroupGetPercpuStats unit test
|
||||||
Patch208: disable-virCgroupGetPercpuStats-test.patch
|
Patch207: disable-virCgroupGetPercpuStats-test.patch
|
||||||
%ifarch ppc ppc64 ppc64le
|
|
||||||
Patch209: disable-hugepage-test.patch
|
|
||||||
%endif
|
|
||||||
%if %{with_apparmor}
|
%if %{with_apparmor}
|
||||||
Patch250: apparmor-no-mount.patch
|
Patch250: apparmor-no-mount.patch
|
||||||
Patch251: qemu-apparmor-screenshot.patch
|
Patch251: qemu-apparmor-screenshot.patch
|
||||||
@ -957,8 +967,7 @@ connect a user to an LXC container when they login, by switching
|
|||||||
namespaces.
|
namespaces.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Older version contain too old wireshark
|
%if %{with_wireshark}
|
||||||
%if 0%{?suse_version} >= 1210
|
|
||||||
|
|
||||||
%package -n wireshark-plugin-libvirt
|
%package -n wireshark-plugin-libvirt
|
||||||
Summary: Wireshark plugin for Libvirt RPC protocol
|
Summary: Wireshark plugin for Libvirt RPC protocol
|
||||||
@ -971,12 +980,13 @@ Provides a dissector for the libvirt RPC protocol to help debugging it.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch100 -p1
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
%patch151 -p1
|
%patch151 -p1
|
||||||
%patch152 -p1
|
%patch152 -p1
|
||||||
%patch153 -p1
|
%patch153 -p1
|
||||||
%patch154 -p1
|
%patch154 -p1
|
||||||
%patch155 -p1
|
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
%patch201 -p1
|
%patch201 -p1
|
||||||
%patch202 -p1
|
%patch202 -p1
|
||||||
@ -985,10 +995,6 @@ Provides a dissector for the libvirt RPC protocol to help debugging it.
|
|||||||
%patch205 -p1
|
%patch205 -p1
|
||||||
%patch206 -p1
|
%patch206 -p1
|
||||||
%patch207 -p1
|
%patch207 -p1
|
||||||
%patch208 -p1
|
|
||||||
%ifarch ppc ppc64 ppc64le
|
|
||||||
%patch209 -p1
|
|
||||||
%endif
|
|
||||||
%if %{with_apparmor}
|
%if %{with_apparmor}
|
||||||
%patch250 -p1
|
%patch250 -p1
|
||||||
%patch251 -p1
|
%patch251 -p1
|
||||||
@ -1137,6 +1143,9 @@ Provides a dissector for the libvirt RPC protocol to help debugging it.
|
|||||||
%if %{with_firewalld}
|
%if %{with_firewalld}
|
||||||
%define _with_firewalld --with-firewalld
|
%define _with_firewalld --with-firewalld
|
||||||
%endif
|
%endif
|
||||||
|
%if ! %{with_wireshark}
|
||||||
|
%define _without_wireshark --without-wireshark-dissector
|
||||||
|
%endif
|
||||||
%if ! %{with_systemd_daemon}
|
%if ! %{with_systemd_daemon}
|
||||||
%define _without_systemd_daemon --without-systemd-daemon
|
%define _without_systemd_daemon --without-systemd-daemon
|
||||||
%endif
|
%endif
|
||||||
@ -1194,6 +1203,7 @@ export CFLAGS="$RPM_OPT_FLAGS"
|
|||||||
%{?_without_dtrace} \
|
%{?_without_dtrace} \
|
||||||
%{?_without_driver_modules} \
|
%{?_without_driver_modules} \
|
||||||
%{?_with_firewalld} \
|
%{?_with_firewalld} \
|
||||||
|
%{?_without_wireshark} \
|
||||||
%{?_without_systemd_daemon} \
|
%{?_without_systemd_daemon} \
|
||||||
--libexecdir=%{_libdir}/%{name} \
|
--libexecdir=%{_libdir}/%{name} \
|
||||||
--with-qemu-user=%{qemu_user} \
|
--with-qemu-user=%{qemu_user} \
|
||||||
@ -1213,7 +1223,7 @@ do
|
|||||||
done
|
done
|
||||||
cp examples/lxcconvert/virt-lxc-convert $RPM_BUILD_ROOT%{_bindir}
|
cp examples/lxcconvert/virt-lxc-convert $RPM_BUILD_ROOT%{_bindir}
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
%if 0%{?suse_version} >= 1210
|
%if %{with_wireshark}
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
|
||||||
%endif
|
%endif
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||||
@ -1340,11 +1350,9 @@ mkdir -p $RPM_BUILD_ROOT%{_sbindir}
|
|||||||
ln -s %{_sysconfdir}/init.d/libvirt-guests $RPM_BUILD_ROOT%{_sbindir}/rclibvirt-guests
|
ln -s %{_sysconfdir}/init.d/libvirt-guests $RPM_BUILD_ROOT%{_sbindir}/rclibvirt-guests
|
||||||
%endif
|
%endif
|
||||||
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirt-guests $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests
|
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirt-guests $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests
|
||||||
%if %{with_polkit}
|
%if %{with_polkit_rules}
|
||||||
%if 0%{?suse_version} > 1110
|
|
||||||
install -d $RPM_BUILD_ROOT%{_sysconfdir}/polkit-1/rules.d/
|
install -d $RPM_BUILD_ROOT%{_sysconfdir}/polkit-1/rules.d/
|
||||||
install %SOURCE5 $RPM_BUILD_ROOT%{_sysconfdir}/polkit-1/rules.d/10-virt.rules
|
install %SOURCE5 $RPM_BUILD_ROOT%{_sysconfdir}/polkit-1/rules.d/10-virt.rules
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
%fdupes -s $RPM_BUILD_ROOT
|
%fdupes -s $RPM_BUILD_ROOT
|
||||||
|
|
||||||
@ -1510,9 +1518,11 @@ fi
|
|||||||
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver
|
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver
|
||||||
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so
|
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so
|
||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
|
%if %{with_polkit_rules}
|
||||||
|
%{_sysconfdir}/polkit-1/rules.d/10-virt.rules
|
||||||
|
%endif
|
||||||
%if 0%{?suse_version} > 1110
|
%if 0%{?suse_version} > 1110
|
||||||
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
||||||
%{_sysconfdir}/polkit-1/rules.d/10-virt.rules
|
|
||||||
%else
|
%else
|
||||||
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||||
%endif
|
%endif
|
||||||
@ -1876,7 +1886,7 @@ fi
|
|||||||
%{_bindir}/virt-login-shell
|
%{_bindir}/virt-login-shell
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1210
|
%if %{with_wireshark}
|
||||||
|
|
||||||
%files -n wireshark-plugin-libvirt
|
%files -n wireshark-plugin-libvirt
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/daemon/libvirtd.conf
|
Index: libvirt-1.2.14/daemon/libvirtd.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/daemon/libvirtd.conf
|
--- libvirt-1.2.14.orig/daemon/libvirtd.conf
|
||||||
+++ libvirt-1.2.13/daemon/libvirtd.conf
|
+++ libvirt-1.2.14/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.13/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.13/daemon/libvirtd-config.c
|
Index: libvirt-1.2.14/daemon/libvirtd-config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/daemon/libvirtd-config.c
|
--- libvirt-1.2.14.orig/daemon/libvirtd-config.c
|
||||||
+++ libvirt-1.2.13/daemon/libvirtd-config.c
|
+++ libvirt-1.2.14/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.13/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.13/daemon/test_libvirtd.aug.in
|
Index: libvirt-1.2.14/daemon/test_libvirtd.aug.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/daemon/test_libvirtd.aug.in
|
--- libvirt-1.2.14.orig/daemon/test_libvirtd.aug.in
|
||||||
+++ libvirt-1.2.13/daemon/test_libvirtd.aug.in
|
+++ libvirt-1.2.14/daemon/test_libvirtd.aug.in
|
||||||
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
||||||
::CONFIG::
|
::CONFIG::
|
||||||
|
|
||||||
|
@ -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.13/daemon/libvirtd.sysconf
|
Index: libvirt-1.2.14/daemon/libvirtd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/daemon/libvirtd.sysconf
|
--- libvirt-1.2.14.orig/daemon/libvirtd.sysconf
|
||||||
+++ libvirt-1.2.13/daemon/libvirtd.sysconf
|
+++ libvirt-1.2.14/daemon/libvirtd.sysconf
|
||||||
@@ -1,16 +1,25 @@
|
@@ -1,16 +1,25 @@
|
||||||
+## Path: System/Virtualization/libvirt
|
+## Path: System/Virtualization/libvirt
|
||||||
+
|
+
|
||||||
|
29
open-ns-files-readonly.patch
Normal file
29
open-ns-files-readonly.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From cc21badc5c30ddeeb89abfa9ecdfbacd512f33c2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
|
||||||
|
Date: Thu, 9 Apr 2015 09:22:43 +0200
|
||||||
|
Subject: [PATCH] Open /proc/PID/ns/* read-only to avoid getting permission
|
||||||
|
denied
|
||||||
|
|
||||||
|
lxc-enter-namespace stopped working on recent kernels (at least 3.19+)
|
||||||
|
due to /proc/PID/ns/* file descriptors being opened RW. From outside
|
||||||
|
the namespace these can only be opened RO.
|
||||||
|
---
|
||||||
|
src/util/virprocess.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
|
||||||
|
index ab1e039..7a79970 100644
|
||||||
|
--- a/src/util/virprocess.c
|
||||||
|
+++ b/src/util/virprocess.c
|
||||||
|
@@ -628,7 +628,7 @@ int virProcessGetNamespaces(pid_t pid,
|
||||||
|
ns[i]) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
- if ((fd = open(nsfile, O_RDWR)) >= 0) {
|
||||||
|
+ if ((fd = open(nsfile, O_RDONLY)) >= 0) {
|
||||||
|
if (VIR_EXPAND_N(*fdlist, *nfdlist, 1) < 0) {
|
||||||
|
VIR_FORCE_CLOSE(fd);
|
||||||
|
goto cleanup;
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
|||||||
|
|
||||||
See bnc#894956
|
See bnc#894956
|
||||||
|
|
||||||
Index: libvirt-1.2.13/src/util/virarch.c
|
Index: libvirt-1.2.14/src/util/virarch.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/util/virarch.c
|
--- libvirt-1.2.14.orig/src/util/virarch.c
|
||||||
+++ libvirt-1.2.13/src/util/virarch.c
|
+++ libvirt-1.2.14/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")) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/examples/apparmor/libvirt-qemu
|
Index: libvirt-1.2.14/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-1.2.14.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-1.2.13/examples/apparmor/libvirt-qemu
|
+++ libvirt-1.2.14/examples/apparmor/libvirt-qemu
|
||||||
@@ -132,6 +132,9 @@
|
@@ -132,6 +132,9 @@
|
||||||
/sys/bus/ r,
|
/sys/bus/ r,
|
||||||
/sys/class/ r,
|
/sys/class/ r,
|
||||||
|
@ -8,11 +8,11 @@ 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.13/src/xenconfig/xen_common.c
|
Index: libvirt-1.2.14/src/xenconfig/xen_common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/xenconfig/xen_common.c
|
--- libvirt-1.2.14.orig/src/xenconfig/xen_common.c
|
||||||
+++ libvirt-1.2.13/src/xenconfig/xen_common.c
|
+++ libvirt-1.2.14/src/xenconfig/xen_common.c
|
||||||
@@ -401,6 +401,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
@@ -403,6 +403,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
||||||
{
|
{
|
||||||
virConfValuePtr list = virConfGetValue(conf, "pci");
|
virConfValuePtr list = virConfGetValue(conf, "pci");
|
||||||
virDomainHostdevDefPtr hostdev = NULL;
|
virDomainHostdevDefPtr hostdev = NULL;
|
||||||
@ -21,7 +21,7 @@ Index: libvirt-1.2.13/src/xenconfig/xen_common.c
|
|||||||
|
|
||||||
if (list && list->type == VIR_CONF_LIST) {
|
if (list && list->type == VIR_CONF_LIST) {
|
||||||
list = list->list;
|
list = list->list;
|
||||||
@@ -422,6 +424,11 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
@@ -424,6 +426,11 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
||||||
/* pci=['0000:00:1b.0','0000:00:13.0'] */
|
/* pci=['0000:00:1b.0','0000:00:13.0'] */
|
||||||
if (!(key = list->str))
|
if (!(key = list->str))
|
||||||
goto skippci;
|
goto skippci;
|
||||||
@ -33,7 +33,7 @@ Index: libvirt-1.2.13/src/xenconfig/xen_common.c
|
|||||||
if (!(nextkey = strchr(key, ':')))
|
if (!(nextkey = strchr(key, ':')))
|
||||||
goto skippci;
|
goto skippci;
|
||||||
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) {
|
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) {
|
||||||
@@ -465,10 +472,31 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
@@ -467,10 +474,31 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
||||||
goto skippci;
|
goto skippci;
|
||||||
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
|
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
|
||||||
goto skippci;
|
goto skippci;
|
||||||
@ -66,10 +66,10 @@ Index: libvirt-1.2.13/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.13/src/xenconfig/xen_sxpr.c
|
Index: libvirt-1.2.14/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-1.2.14.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-1.2.13/src/xenconfig/xen_sxpr.c
|
+++ libvirt-1.2.14/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.13/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;
|
||||||
@@ -2005,11 +2008,15 @@ static void
|
@@ -2006,11 +2009,15 @@ static void
|
||||||
xenFormatSxprPCI(virDomainHostdevDefPtr def,
|
xenFormatSxprPCI(virDomainHostdevDefPtr def,
|
||||||
virBufferPtr buf)
|
virBufferPtr buf)
|
||||||
{
|
{
|
||||||
@ -110,7 +110,7 @@ Index: libvirt-1.2.13/src/xenconfig/xen_sxpr.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2028,12 +2035,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
|
@@ -2029,12 +2036,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
|
||||||
virBufferPtr buf,
|
virBufferPtr buf,
|
||||||
int detach)
|
int detach)
|
||||||
{
|
{
|
||||||
@ -123,7 +123,7 @@ Index: libvirt-1.2.13/src/xenconfig/xen_sxpr.c
|
|||||||
virBufferAddLit(buf, "(pci ");
|
virBufferAddLit(buf, "(pci ");
|
||||||
xenFormatSxprPCI(def, buf);
|
xenFormatSxprPCI(def, buf);
|
||||||
if (detach)
|
if (detach)
|
||||||
@@ -2088,12 +2089,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
|
@@ -2089,12 +2090,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) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/src/qemu/qemu.conf
|
Index: libvirt-1.2.14/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/qemu/qemu.conf
|
--- libvirt-1.2.14.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-1.2.13/src/qemu/qemu.conf
|
+++ libvirt-1.2.14/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.
|
||||||
#
|
#
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/daemon/libvirtd.service.in
|
Index: libvirt-1.2.14/daemon/libvirtd.service.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/daemon/libvirtd.service.in
|
--- libvirt-1.2.14.orig/daemon/libvirtd.service.in
|
||||||
+++ libvirt-1.2.13/daemon/libvirtd.service.in
|
+++ libvirt-1.2.14/daemon/libvirtd.service.in
|
||||||
@@ -5,6 +5,8 @@ After=network.target
|
@@ -5,6 +5,8 @@ After=network.target
|
||||||
After=dbus.service
|
After=dbus.service
|
||||||
After=iscsid.service
|
After=iscsid.service
|
||||||
|
@ -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.13/src/locking/virtlockd.sysconf
|
Index: libvirt-1.2.14/src/locking/virtlockd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/locking/virtlockd.sysconf
|
--- libvirt-1.2.14.orig/src/locking/virtlockd.sysconf
|
||||||
+++ libvirt-1.2.13/src/locking/virtlockd.sysconf
|
+++ libvirt-1.2.14/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.13/src/locking/virtlockd.sysconf
|
|||||||
#
|
#
|
||||||
# Pass extra arguments to virtlockd
|
# Pass extra arguments to virtlockd
|
||||||
#VIRTLOCKD_ARGS=
|
#VIRTLOCKD_ARGS=
|
||||||
Index: libvirt-1.2.13/src/locking/virtlockd.init.in
|
Index: libvirt-1.2.14/src/locking/virtlockd.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/locking/virtlockd.init.in
|
--- libvirt-1.2.14.orig/src/locking/virtlockd.init.in
|
||||||
+++ libvirt-1.2.13/src/locking/virtlockd.init.in
|
+++ libvirt-1.2.14/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
|
||||||
#
|
#
|
||||||
|
@ -1,170 +0,0 @@
|
|||||||
Do not search xenstore for disk/network/PCI device IDs
|
|
||||||
|
|
||||||
Disk, network, and PCI devices can be referenced by name in Xen,
|
|
||||||
e.g. when modifying their configuration or remvoving them. As such,
|
|
||||||
don't search xenstore for a device ID corresponding to these devices.
|
|
||||||
Instead, search the devices contained in the domain definition and use
|
|
||||||
the devices's target name if found.
|
|
||||||
|
|
||||||
Note that for network devices, the mac address is used for the device
|
|
||||||
name. For PCI devices, the bdf (bus:dev:fun) specifier is used for
|
|
||||||
the device name.
|
|
||||||
|
|
||||||
This approach allows removing a disk/network/PCI device when domain
|
|
||||||
is inactive. We obviously can't search xenstore when the domain is
|
|
||||||
inactive.
|
|
||||||
|
|
||||||
Index: libvirt-1.2.13/src/xen/xend_internal.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-1.2.13.orig/src/xen/xend_internal.c
|
|
||||||
+++ libvirt-1.2.13/src/xen/xend_internal.c
|
|
||||||
@@ -72,7 +72,7 @@ VIR_LOG_INIT("xen.xend_internal");
|
|
||||||
#define XEND_RCV_BUF_MAX_LEN (256 * 1024)
|
|
||||||
|
|
||||||
static int
|
|
||||||
-virDomainXMLDevID(virConnectPtr conn, virDomainDefPtr domain,
|
|
||||||
+virDomainXMLDevID(virConnectPtr conn ATTRIBUTE_UNUSED, virDomainDefPtr domain,
|
|
||||||
virDomainDeviceDefPtr dev, char *class,
|
|
||||||
char *ref, int ref_len);
|
|
||||||
|
|
||||||
@@ -3319,18 +3319,18 @@ xenDaemonDomainBlockPeek(virConnectPtr c
|
|
||||||
* Returns 0 in case of success, -1 in case of failure.
|
|
||||||
*/
|
|
||||||
static int
|
|
||||||
-virDomainXMLDevID(virConnectPtr conn,
|
|
||||||
+virDomainXMLDevID(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|
||||||
virDomainDefPtr def,
|
|
||||||
virDomainDeviceDefPtr dev,
|
|
||||||
char *class,
|
|
||||||
char *ref,
|
|
||||||
int ref_len)
|
|
||||||
{
|
|
||||||
- xenUnifiedPrivatePtr priv = conn->privateData;
|
|
||||||
- char *xref;
|
|
||||||
- char *tmp;
|
|
||||||
+ size_t i;
|
|
||||||
|
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
|
|
||||||
+ if (dev->data.disk->dst == NULL)
|
|
||||||
+ return -1;
|
|
||||||
const char *driver = virDomainDiskGetDriver(dev->data.disk);
|
|
||||||
|
|
||||||
if (STREQ_NULLABLE(driver, "tap") || STREQ_NULLABLE(driver, "tap2"))
|
|
||||||
@@ -3338,19 +3338,17 @@ virDomainXMLDevID(virConnectPtr conn,
|
|
||||||
else
|
|
||||||
strcpy(class, "vbd");
|
|
||||||
|
|
||||||
- if (dev->data.disk->dst == NULL)
|
|
||||||
- return -1;
|
|
||||||
- xenUnifiedLock(priv);
|
|
||||||
- xref = xenStoreDomainGetDiskID(conn, def->id,
|
|
||||||
- dev->data.disk->dst);
|
|
||||||
- xenUnifiedUnlock(priv);
|
|
||||||
- if (xref == NULL)
|
|
||||||
- return -1;
|
|
||||||
-
|
|
||||||
- tmp = virStrcpy(ref, xref, ref_len);
|
|
||||||
- VIR_FREE(xref);
|
|
||||||
- if (tmp == NULL)
|
|
||||||
- return -1;
|
|
||||||
+ /* For disks, the device name can be used directly. */
|
|
||||||
+ for (i = 0; i < def->ndisks; i++) {
|
|
||||||
+ virDomainDiskDefPtr disk = def->disks[i];
|
|
||||||
+ if (STREQ(dev->data.disk->dst, disk->dst)) {
|
|
||||||
+ if (virStrcpy(ref, disk->dst, ref_len) == NULL)
|
|
||||||
+ return -1;
|
|
||||||
+ else
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return -1;
|
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
|
|
||||||
char mac[VIR_MAC_STRING_BUFLEN];
|
|
||||||
virDomainNetDefPtr netdef = dev->data.net;
|
|
||||||
@@ -3358,16 +3356,22 @@ virDomainXMLDevID(virConnectPtr conn,
|
|
||||||
|
|
||||||
strcpy(class, "vif");
|
|
||||||
|
|
||||||
- xenUnifiedLock(priv);
|
|
||||||
- xref = xenStoreDomainGetNetworkID(conn, def->id, mac);
|
|
||||||
- xenUnifiedUnlock(priv);
|
|
||||||
- if (xref == NULL)
|
|
||||||
- return -1;
|
|
||||||
-
|
|
||||||
- tmp = virStrcpy(ref, xref, ref_len);
|
|
||||||
- VIR_FREE(xref);
|
|
||||||
- if (tmp == NULL)
|
|
||||||
- return -1;
|
|
||||||
+ /* For nics, the mac address can be used directly. */
|
|
||||||
+ for (i = 0; i < def->nnets; i++) {
|
|
||||||
+ char dst_mac[30];
|
|
||||||
+ virDomainNetDefPtr dst_net = def->nets[i];
|
|
||||||
+ snprintf(dst_mac, sizeof(dst_mac), "%02x:%02x:%02x:%02x:%02x:%02x",
|
|
||||||
+ dst_net->mac.addr[0], dst_net->mac.addr[1],
|
|
||||||
+ dst_net->mac.addr[2], dst_net->mac.addr[3],
|
|
||||||
+ dst_net->mac.addr[4], dst_net->mac.addr[5]);
|
|
||||||
+ if (STREQ(mac, dst_mac)) {
|
|
||||||
+ if (virStrcpy(ref, dst_mac, ref_len) == NULL)
|
|
||||||
+ return -1;
|
|
||||||
+ else
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return -1;
|
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
|
|
||||||
dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
|
|
||||||
dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
|
|
||||||
@@ -3383,17 +3387,43 @@ virDomainXMLDevID(virConnectPtr conn,
|
|
||||||
|
|
||||||
strcpy(class, "pci");
|
|
||||||
|
|
||||||
- xenUnifiedLock(priv);
|
|
||||||
- xref = xenStoreDomainGetPCIID(conn, def->id, bdf);
|
|
||||||
- xenUnifiedUnlock(priv);
|
|
||||||
- VIR_FREE(bdf);
|
|
||||||
- if (xref == NULL)
|
|
||||||
- return -1;
|
|
||||||
+ /* For PCI devices, the device BFD can be used directly. */
|
|
||||||
+ for (i = 0; i < def->nhostdevs; i++) {
|
|
||||||
+ char *dst_bdf;
|
|
||||||
+ virDomainHostdevDefPtr hostdev = def->hostdevs[i];
|
|
||||||
+
|
|
||||||
+ if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS)
|
|
||||||
+ continue;
|
|
||||||
+ if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI)
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ if (virAsprintf(&dst_bdf, "%04x:%02x:%02x.%0x",
|
|
||||||
+ hostdev->source.subsys.u.pci.addr.domain,
|
|
||||||
+ hostdev->source.subsys.u.pci.addr.bus,
|
|
||||||
+ hostdev->source.subsys.u.pci.addr.slot,
|
|
||||||
+ hostdev->source.subsys.u.pci.addr.function) < 0) {
|
|
||||||
+ virReportOOMError();
|
|
||||||
+ VIR_FREE(bdf);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- tmp = virStrcpy(ref, xref, ref_len);
|
|
||||||
- VIR_FREE(xref);
|
|
||||||
- if (tmp == NULL)
|
|
||||||
- return -1;
|
|
||||||
+ if (STREQ(bdf, dst_bdf)) {
|
|
||||||
+ if (virStrcpy(ref, dst_bdf, ref_len) == NULL) {
|
|
||||||
+ virReportOOMError();
|
|
||||||
+ VIR_FREE(dst_bdf);
|
|
||||||
+ VIR_FREE(bdf);
|
|
||||||
+ return -1;
|
|
||||||
+ } else {
|
|
||||||
+ VIR_FREE(dst_bdf);
|
|
||||||
+ VIR_FREE(bdf);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ VIR_FREE(dst_bdf);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ VIR_FREE(bdf);
|
|
||||||
+ return -1;
|
|
||||||
} else {
|
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
|
||||||
"%s", _("hotplug of device type not supported"));
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-1.2.13/src/xenconfig/xen_sxpr.c
|
Index: libvirt-1.2.14/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-1.2.13.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-1.2.14.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-1.2.13/src/xenconfig/xen_sxpr.c
|
+++ libvirt-1.2.14/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,
|
||||||
|
Loading…
Reference in New Issue
Block a user