forked from pool/libvirt
Accepting request 433498 from home:jfehlig:branches:Virtualization
- Update to libvirt 2.3.0 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped patches: pci-use-driver-override-sysfs.patch, virHostdevFindUSBDevice-privsyms.patch, libxl-usb-vendor.patch, apparmor-qemu-bridge-helper.patch OBS-URL: https://build.opensuse.org/request/show/433498 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=567
This commit is contained in:
parent
a278eea708
commit
47e5144d9d
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-2.2.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-2.3.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-2.3.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-2.2.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-2.3.0/examples/apparmor/libvirt-qemu
|
||||||
@@ -143,6 +143,9 @@
|
@@ -143,6 +143,9 @@
|
||||||
# for restore
|
# for restore
|
||||||
/bin/bash rmix,
|
/bin/bash rmix,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-2.2.0/examples/apparmor/libvirt-lxc
|
Index: libvirt-2.3.0/examples/apparmor/libvirt-lxc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/examples/apparmor/libvirt-lxc
|
--- libvirt-2.3.0.orig/examples/apparmor/libvirt-lxc
|
||||||
+++ libvirt-2.2.0/examples/apparmor/libvirt-lxc
|
+++ libvirt-2.3.0/examples/apparmor/libvirt-lxc
|
||||||
@@ -2,39 +2,15 @@
|
@@ -2,39 +2,15 @@
|
||||||
|
|
||||||
#include <abstractions/base>
|
#include <abstractions/base>
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
From 430cd5a72cf1f5c3e56cf1b4b40385812477aef3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
|
|
||||||
Date: Fri, 5 Aug 2016 09:32:54 +0200
|
|
||||||
Subject: [PATCH] apparmor: move qemu-bridge-helper to libvirtd profile
|
|
||||||
|
|
||||||
qemu-bridge-helper is only called from libvirtd, it has to be moved
|
|
||||||
from the qemu domain abstraction to the usr.sbin.libvirtd profile.
|
|
||||||
---
|
|
||||||
examples/apparmor/libvirt-qemu | 19 -------------------
|
|
||||||
examples/apparmor/usr.sbin.libvirtd | 18 ++++++++++++++++++
|
|
||||||
2 files changed, 18 insertions(+), 19 deletions(-)
|
|
||||||
|
|
||||||
Index: libvirt-2.2.0/examples/apparmor/libvirt-qemu
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/examples/apparmor/libvirt-qemu
|
|
||||||
+++ libvirt-2.2.0/examples/apparmor/libvirt-qemu
|
|
||||||
@@ -151,22 +151,3 @@
|
|
||||||
/etc/udev/udev.conf r,
|
|
||||||
/sys/bus/ r,
|
|
||||||
/sys/class/ r,
|
|
||||||
-
|
|
||||||
- /usr/{lib,libexec}/qemu-bridge-helper Cx -> qemu_bridge_helper,
|
|
||||||
- # child profile for bridge helper process
|
|
||||||
- profile qemu_bridge_helper {
|
|
||||||
- #include <abstractions/base>
|
|
||||||
-
|
|
||||||
- capability setuid,
|
|
||||||
- capability setgid,
|
|
||||||
- capability setpcap,
|
|
||||||
- capability net_admin,
|
|
||||||
-
|
|
||||||
- network inet stream,
|
|
||||||
-
|
|
||||||
- /dev/net/tun rw,
|
|
||||||
- /etc/qemu/** r,
|
|
||||||
- owner @{PROC}/*/status r,
|
|
||||||
-
|
|
||||||
- /usr/{lib,libexec}/qemu-bridge-helper rmix,
|
|
||||||
- }
|
|
||||||
Index: libvirt-2.2.0/examples/apparmor/usr.sbin.libvirtd
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/examples/apparmor/usr.sbin.libvirtd
|
|
||||||
+++ libvirt-2.2.0/examples/apparmor/usr.sbin.libvirtd
|
|
||||||
@@ -67,4 +67,22 @@
|
|
||||||
# allow changing to our UUID-based named profiles
|
|
||||||
change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
|
|
||||||
|
|
||||||
+ /usr/{lib,libexec}/qemu-bridge-helper Cx -> qemu_bridge_helper,
|
|
||||||
+ # child profile for bridge helper process
|
|
||||||
+ profile qemu_bridge_helper {
|
|
||||||
+ #include <abstractions/base>
|
|
||||||
+
|
|
||||||
+ capability setuid,
|
|
||||||
+ capability setgid,
|
|
||||||
+ capability setpcap,
|
|
||||||
+ capability net_admin,
|
|
||||||
+
|
|
||||||
+ network inet stream,
|
|
||||||
+
|
|
||||||
+ /dev/net/tun rw,
|
|
||||||
+ /etc/qemu/** r,
|
|
||||||
+ owner @{PROC}/*/status r,
|
|
||||||
+
|
|
||||||
+ /usr/{lib,libexec}/qemu-bridge-helper rmix,
|
|
||||||
+ }
|
|
||||||
}
|
|
@ -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-2.2.0/src/qemu/qemu_driver.c
|
Index: libvirt-2.3.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-2.3.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-2.2.0/src/qemu/qemu_driver.c
|
+++ libvirt-2.3.0/src/qemu/qemu_driver.c
|
||||||
@@ -16578,6 +16578,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
@@ -16622,6 +16622,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
||||||
_("non-file destination not supported yet"));
|
_("non-file destination not supported yet"));
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e315a8d66aeeb0e7b6459e20b8abae16a23764c3f5d24c7d9462465d26791699
|
|
||||||
size 13209684
|
|
@ -1,6 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iEYEABECAAYFAlfJfmsACgkQRga4pd6VvB9J1gCdGxdMVSocMiKYnKPh4sY3Gp3r
|
|
||||||
kP8AnAgpRQ+Hn48/YIflP9dKacy+yEkF
|
|
||||||
=x1Mw
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libvirt-2.3.0.tar.xz
Normal file
3
libvirt-2.3.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e430e69b27d3f6c97255e638617b59b179618d531d81ac7dfe0783a1c1eeafd1
|
||||||
|
size 13224384
|
6
libvirt-2.3.0.tar.xz.asc
Normal file
6
libvirt-2.3.0.tar.xz.asc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iEYEABECAAYFAlfz22MACgkQRga4pd6VvB+odwCdHUMccQTnLQfnwqcRCY+T2m5t
|
||||||
|
9rkAn2EsUm3CmPF+M0PX3+5GMdnjJW8X
|
||||||
|
=tiI+
|
||||||
|
-----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-2.2.0/tools/libvirt-guests.init.in
|
Index: libvirt-2.3.0/tools/libvirt-guests.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/libvirt-guests.init.in
|
--- libvirt-2.3.0.orig/tools/libvirt-guests.init.in
|
||||||
+++ libvirt-2.2.0/tools/libvirt-guests.init.in
|
+++ libvirt-2.3.0/tools/libvirt-guests.init.in
|
||||||
@@ -4,27 +4,27 @@
|
@@ -4,27 +4,27 @@
|
||||||
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
||||||
#
|
#
|
||||||
@ -45,10 +45,10 @@ Index: libvirt-2.2.0/tools/libvirt-guests.init.in
|
|||||||
#
|
#
|
||||||
|
|
||||||
exec @libexecdir@/libvirt-guests.sh "$@"
|
exec @libexecdir@/libvirt-guests.sh "$@"
|
||||||
Index: libvirt-2.2.0/tools/libvirt-guests.sh.in
|
Index: libvirt-2.3.0/tools/libvirt-guests.sh.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/libvirt-guests.sh.in
|
--- libvirt-2.3.0.orig/tools/libvirt-guests.sh.in
|
||||||
+++ libvirt-2.2.0/tools/libvirt-guests.sh.in
|
+++ libvirt-2.3.0/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/>.
|
||||||
@ -208,10 +208,10 @@ Index: libvirt-2.2.0/tools/libvirt-guests.sh.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-2.2.0/tools/libvirt-guests.sysconf
|
Index: libvirt-2.3.0/tools/libvirt-guests.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/libvirt-guests.sysconf
|
--- libvirt-2.3.0.orig/tools/libvirt-guests.sysconf
|
||||||
+++ libvirt-2.2.0/tools/libvirt-guests.sysconf
|
+++ libvirt-2.3.0/tools/libvirt-guests.sysconf
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,29 @@
|
||||||
+## Path: System/Virtualization/libvirt-guests
|
+## Path: System/Virtualization/libvirt-guests
|
||||||
+
|
+
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
Index: libvirt-2.2.0/src/cpu/cpu_map.xml
|
Add POWER8 v2.0 and v2.1 to cpu map XML
|
||||||
|
|
||||||
|
From: <ro@suse.de>
|
||||||
|
|
||||||
|
Index: libvirt-2.3.0/src/cpu/cpu_map.xml
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/cpu/cpu_map.xml
|
--- libvirt-2.3.0.orig/src/cpu/cpu_map.xml
|
||||||
+++ libvirt-2.2.0/src/cpu/cpu_map.xml
|
+++ libvirt-2.3.0/src/cpu/cpu_map.xml
|
||||||
@@ -1542,6 +1542,16 @@
|
@@ -1542,6 +1542,16 @@
|
||||||
<pvr value='0x004d0000' mask='0xffff0000'/>
|
<pvr value='0x004d0000' mask='0xffff0000'/>
|
||||||
</model>
|
</model>
|
||||||
@ -19,3 +23,15 @@ Index: libvirt-2.2.0/src/cpu/cpu_map.xml
|
|||||||
<!-- Freescale-based CPU models -->
|
<!-- Freescale-based CPU models -->
|
||||||
<model name='POWERPC_e5500'>
|
<model name='POWERPC_e5500'>
|
||||||
<vendor name='Freescale'/>
|
<vendor name='Freescale'/>
|
||||||
|
Index: libvirt-2.3.0/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-2.3.0.orig/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml
|
||||||
|
+++ libvirt-2.3.0/tests/domaincapsschemadata/qemu_2.6.0.ppc64le.xml
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
<mode name='custom' supported='yes'>
|
||||||
|
<model usable='unknown'>POWER8</model>
|
||||||
|
<model usable='unknown'>POWER7</model>
|
||||||
|
+ <model usable='unknown'>POWER8_v2.0</model>
|
||||||
|
</mode>
|
||||||
|
</cpu>
|
||||||
|
<devices>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-2.2.0/configure.ac
|
Index: libvirt-2.3.0/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/configure.ac
|
--- libvirt-2.3.0.orig/configure.ac
|
||||||
+++ libvirt-2.2.0/configure.ac
|
+++ libvirt-2.3.0/configure.ac
|
||||||
@@ -248,6 +248,7 @@ LIBVIRT_CHECK_FUSE
|
@@ -248,6 +248,7 @@ LIBVIRT_CHECK_FUSE
|
||||||
LIBVIRT_CHECK_GLUSTER
|
LIBVIRT_CHECK_GLUSTER
|
||||||
LIBVIRT_CHECK_HAL
|
LIBVIRT_CHECK_HAL
|
||||||
@ -34,10 +34,10 @@ Index: libvirt-2.2.0/configure.ac
|
|||||||
LIBVIRT_RESULT_NUMACTL
|
LIBVIRT_RESULT_NUMACTL
|
||||||
LIBVIRT_RESULT_OPENWSMAN
|
LIBVIRT_RESULT_OPENWSMAN
|
||||||
LIBVIRT_RESULT_PCIACCESS
|
LIBVIRT_RESULT_PCIACCESS
|
||||||
Index: libvirt-2.2.0/src/Makefile.am
|
Index: libvirt-2.3.0/src/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/Makefile.am
|
--- libvirt-2.3.0.orig/src/Makefile.am
|
||||||
+++ libvirt-2.2.0/src/Makefile.am
|
+++ libvirt-2.3.0/src/Makefile.am
|
||||||
@@ -952,6 +952,10 @@ if WITH_NETCF
|
@@ -952,6 +952,10 @@ if WITH_NETCF
|
||||||
INTERFACE_DRIVER_SOURCES += \
|
INTERFACE_DRIVER_SOURCES += \
|
||||||
interface/interface_backend_netcf.c
|
interface/interface_backend_netcf.c
|
||||||
@ -60,11 +60,11 @@ Index: libvirt-2.2.0/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-2.2.0/tools/virsh.c
|
Index: libvirt-2.3.0/tools/virsh.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/virsh.c
|
--- libvirt-2.3.0.orig/tools/virsh.c
|
||||||
+++ libvirt-2.2.0/tools/virsh.c
|
+++ libvirt-2.3.0/tools/virsh.c
|
||||||
@@ -640,6 +640,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
|
@@ -602,6 +602,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-2.2.0/tools/virsh.c
|
|||||||
# elif defined(WITH_UDEV)
|
# elif defined(WITH_UDEV)
|
||||||
vshPrint(ctl, " udev");
|
vshPrint(ctl, " udev");
|
||||||
# endif
|
# endif
|
||||||
Index: libvirt-2.2.0/src/interface/interface_backend_netcf.c
|
Index: libvirt-2.3.0/src/interface/interface_backend_netcf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/interface/interface_backend_netcf.c
|
--- libvirt-2.3.0.orig/src/interface/interface_backend_netcf.c
|
||||||
+++ libvirt-2.2.0/src/interface/interface_backend_netcf.c
|
+++ libvirt-2.3.0/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-2.2.0/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-2.2.0/src/interface/interface_driver.c
|
Index: libvirt-2.3.0/src/interface/interface_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/interface/interface_driver.c
|
--- libvirt-2.3.0.orig/src/interface/interface_driver.c
|
||||||
+++ libvirt-2.2.0/src/interface/interface_driver.c
|
+++ libvirt-2.3.0/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-2.2.0/src/interface/interface_driver.c
|
|||||||
if (udevIfaceRegister() == 0)
|
if (udevIfaceRegister() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
#endif /* WITH_UDEV */
|
#endif /* WITH_UDEV */
|
||||||
Index: libvirt-2.2.0/m4/virt-netcontrol.m4
|
Index: libvirt-2.3.0/m4/virt-netcontrol.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-2.2.0/m4/virt-netcontrol.m4
|
+++ libvirt-2.3.0/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,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 5 13:58:27 UTC 2016 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Update to libvirt 2.3.0
|
||||||
|
- Many incremental improvements and bug fixes, see
|
||||||
|
http://libvirt.org/news.html
|
||||||
|
- Dropped patches:
|
||||||
|
pci-use-driver-override-sysfs.patch,
|
||||||
|
virHostdevFindUSBDevice-privsyms.patch, libxl-usb-vendor.patch,
|
||||||
|
apparmor-qemu-bridge-helper.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 2 18:30:27 UTC 2016 - jfehlig@suse.com
|
Fri Sep 2 18:30:27 UTC 2016 - jfehlig@suse.com
|
||||||
|
|
||||||
|
11
libvirt.spec
11
libvirt.spec
@ -174,7 +174,7 @@
|
|||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Url: http://libvirt.org/
|
Url: http://libvirt.org/
|
||||||
Version: 2.2.0
|
Version: 2.3.0
|
||||||
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+
|
||||||
@ -316,9 +316,6 @@ Source100: %{name}-rpmlintrc
|
|||||||
# Upstream patches
|
# Upstream patches
|
||||||
# Patches pending upstream review
|
# Patches pending upstream review
|
||||||
Patch100: libxl-dom-reset.patch
|
Patch100: libxl-dom-reset.patch
|
||||||
Patch101: pci-use-driver-override-sysfs.patch
|
|
||||||
Patch102: virHostdevFindUSBDevice-privsyms.patch
|
|
||||||
Patch103: libxl-usb-vendor.patch
|
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch150: xen-pv-cdrom.patch
|
Patch150: xen-pv-cdrom.patch
|
||||||
Patch151: blockcopy-check-dst-identical-device.patch
|
Patch151: blockcopy-check-dst-identical-device.patch
|
||||||
@ -327,7 +324,6 @@ Patch153: ppc64le-canonical-name.patch
|
|||||||
Patch154: libxl-set-migration-constraints.patch
|
Patch154: libxl-set-migration-constraints.patch
|
||||||
Patch155: libxl-set-cach-mode.patch
|
Patch155: libxl-set-cach-mode.patch
|
||||||
Patch156: apparmor-fixes.patch
|
Patch156: apparmor-fixes.patch
|
||||||
Patch157: apparmor-qemu-bridge-helper.patch
|
|
||||||
# Our patches
|
# Our patches
|
||||||
Patch200: libvirtd-defaults.patch
|
Patch200: libvirtd-defaults.patch
|
||||||
Patch201: libvirtd-init-script.patch
|
Patch201: libvirtd-init-script.patch
|
||||||
@ -787,9 +783,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
|
||||||
%patch102 -p1
|
|
||||||
%patch103 -p1
|
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
%patch151 -p1
|
%patch151 -p1
|
||||||
%patch152 -p1
|
%patch152 -p1
|
||||||
@ -797,7 +790,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
|||||||
%patch154 -p1
|
%patch154 -p1
|
||||||
%patch155 -p1
|
%patch155 -p1
|
||||||
%patch156 -p1
|
%patch156 -p1
|
||||||
%patch157 -p1
|
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
%patch201 -p1
|
%patch201 -p1
|
||||||
%patch202 -p1
|
%patch202 -p1
|
||||||
@ -1535,6 +1527,7 @@ fi
|
|||||||
%{_datadir}/libvirt/schemas/basictypes.rng
|
%{_datadir}/libvirt/schemas/basictypes.rng
|
||||||
%{_datadir}/libvirt/schemas/capability.rng
|
%{_datadir}/libvirt/schemas/capability.rng
|
||||||
%{_datadir}/libvirt/schemas/domain.rng
|
%{_datadir}/libvirt/schemas/domain.rng
|
||||||
|
%{_datadir}/libvirt/schemas/cputypes.rng
|
||||||
%{_datadir}/libvirt/schemas/domaincaps.rng
|
%{_datadir}/libvirt/schemas/domaincaps.rng
|
||||||
%{_datadir}/libvirt/schemas/domaincommon.rng
|
%{_datadir}/libvirt/schemas/domaincommon.rng
|
||||||
%{_datadir}/libvirt/schemas/domainsnapshot.rng
|
%{_datadir}/libvirt/schemas/domainsnapshot.rng
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-2.2.0/daemon/libvirtd.conf
|
Index: libvirt-2.3.0/daemon/libvirtd.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/daemon/libvirtd.conf
|
--- libvirt-2.3.0.orig/daemon/libvirtd.conf
|
||||||
+++ libvirt-2.2.0/daemon/libvirtd.conf
|
+++ libvirt-2.3.0/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-2.2.0/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-2.2.0/daemon/libvirtd-config.c
|
Index: libvirt-2.3.0/daemon/libvirtd-config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/daemon/libvirtd-config.c
|
--- libvirt-2.3.0.orig/daemon/libvirtd-config.c
|
||||||
+++ libvirt-2.2.0/daemon/libvirtd-config.c
|
+++ libvirt-2.3.0/daemon/libvirtd-config.c
|
||||||
@@ -109,7 +109,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
@@ -109,7 +109,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-2.2.0/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-2.2.0/daemon/test_libvirtd.aug.in
|
Index: libvirt-2.3.0/daemon/test_libvirtd.aug.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/daemon/test_libvirtd.aug.in
|
--- libvirt-2.3.0.orig/daemon/test_libvirtd.aug.in
|
||||||
+++ libvirt-2.2.0/daemon/test_libvirtd.aug.in
|
+++ libvirt-2.3.0/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-2.2.0/daemon/libvirtd.sysconf
|
Index: libvirt-2.3.0/daemon/libvirtd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/daemon/libvirtd.sysconf
|
--- libvirt-2.3.0.orig/daemon/libvirtd.sysconf
|
||||||
+++ libvirt-2.2.0/daemon/libvirtd.sysconf
|
+++ libvirt-2.3.0/daemon/libvirtd.sysconf
|
||||||
@@ -1,16 +1,25 @@
|
@@ -1,16 +1,25 @@
|
||||||
+## Path: System/Virtualization/libvirt
|
+## Path: System/Virtualization/libvirt
|
||||||
+
|
+
|
||||||
|
@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600
|
|||||||
option, but domainReset can be implemented in the libxl driver by
|
option, but domainReset can be implemented in the libxl driver by
|
||||||
forcibly destroying the domain and starting it again.
|
forcibly destroying the domain and starting it again.
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
Index: libvirt-2.3.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_driver.c
|
+++ libvirt-2.3.0/src/libxl/libxl_driver.c
|
||||||
@@ -1376,6 +1376,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
@@ -1384,6 +1384,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -74,7 +74,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
|||||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@@ -6370,6 +6425,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6426,6 +6481,7 @@ static virHypervisorDriver libxlHypervis
|
||||||
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
||||||
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
||||||
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
||||||
|
@ -8,19 +8,19 @@ as the default <emulator>, instead of the qemu-xen one.
|
|||||||
|
|
||||||
See FATE#320638 for details.
|
See FATE#320638 for details.
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_capabilities.c
|
Index: libvirt-2.3.0/src/libxl/libxl_capabilities.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_capabilities.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_capabilities.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_capabilities.c
|
+++ libvirt-2.3.0/src/libxl/libxl_capabilities.c
|
||||||
@@ -36,6 +36,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
#include "domain_capabilities.h"
|
|
||||||
#include "vircommand.h"
|
|
||||||
#include "libxl_capabilities.h"
|
#include "libxl_capabilities.h"
|
||||||
|
#include "cpu/cpu_x86.h"
|
||||||
|
#include "cpu/cpu_x86_data.h"
|
||||||
+#include "configmake.h"
|
+#include "configmake.h"
|
||||||
|
|
||||||
|
|
||||||
#define VIR_FROM_THIS VIR_FROM_LIBXL
|
#define VIR_FROM_THIS VIR_FROM_LIBXL
|
||||||
@@ -335,7 +336,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC
|
@@ -483,7 +484,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC
|
||||||
if ((guest = virCapabilitiesAddGuest(caps,
|
if ((guest = virCapabilitiesAddGuest(caps,
|
||||||
guest_archs[i].hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN,
|
guest_archs[i].hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN,
|
||||||
guest_archs[i].arch,
|
guest_archs[i].arch,
|
||||||
|
@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
|
|||||||
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
||||||
1 file changed, 25 insertions(+)
|
1 file changed, 25 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
Index: libvirt-2.3.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_conf.c
|
+++ libvirt-2.3.0/src/libxl/libxl_conf.c
|
||||||
@@ -557,6 +557,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -584,6 +584,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
|||||||
static char *
|
static char *
|
||||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||||
const char *username,
|
const char *username,
|
||||||
@@ -799,6 +823,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -826,6 +850,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
|
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
|
||||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|||||||
tools/virsh.pod | 8 ++++++++
|
tools/virsh.pod | 8 ++++++++
|
||||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-2.2.0/include/libvirt/libvirt-domain.h
|
Index: libvirt-2.3.0/include/libvirt/libvirt-domain.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/include/libvirt/libvirt-domain.h
|
--- libvirt-2.3.0.orig/include/libvirt/libvirt-domain.h
|
||||||
+++ libvirt-2.2.0/include/libvirt/libvirt-domain.h
|
+++ libvirt-2.3.0/include/libvirt/libvirt-domain.h
|
||||||
@@ -889,6 +889,31 @@ typedef enum {
|
@@ -889,6 +889,31 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
||||||
@ -52,11 +52,11 @@ Index: libvirt-2.2.0/include/libvirt/libvirt-domain.h
|
|||||||
/* Domain migration. */
|
/* Domain migration. */
|
||||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||||
unsigned long flags, const char *dname,
|
unsigned long flags, const char *dname,
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
Index: libvirt-2.3.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_driver.c
|
+++ libvirt-2.3.0/src/libxl/libxl_driver.c
|
||||||
@@ -6035,6 +6035,9 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6044,6 +6044,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
const char *dname = NULL;
|
const char *dname = NULL;
|
||||||
const char *uri = NULL;
|
const char *uri = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
@ -66,7 +66,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
|||||||
|
|
||||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||||
virReportUnsupportedError();
|
virReportUnsupportedError();
|
||||||
@@ -6051,6 +6054,18 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6060,6 +6063,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
virTypedParamsGetString(params, nparams,
|
virTypedParamsGetString(params, nparams,
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME,
|
VIR_MIGRATE_PARAM_DEST_NAME,
|
||||||
&dname) < 0 ||
|
&dname) < 0 ||
|
||||||
@ -85,7 +85,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
|||||||
virTypedParamsGetString(params, nparams,
|
virTypedParamsGetString(params, nparams,
|
||||||
VIR_MIGRATE_PARAM_URI,
|
VIR_MIGRATE_PARAM_URI,
|
||||||
&uri) < 0)
|
&uri) < 0)
|
||||||
@@ -6065,11 +6080,11 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6074,11 +6089,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
|
|
||||||
if (flags & VIR_MIGRATE_PEER2PEER) {
|
if (flags & VIR_MIGRATE_PEER2PEER) {
|
||||||
if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml,
|
if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml,
|
||||||
@ -99,10 +99,10 @@ Index: libvirt-2.2.0/src/libxl/libxl_driver.c
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
Index: libvirt-2.3.0/src/libxl/libxl_migration.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_migration.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_migration.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_migration.c
|
+++ libvirt-2.3.0/src/libxl/libxl_migration.c
|
||||||
@@ -358,18 +358,39 @@ libxlMigrateReceive(virNetSocketPtr sock
|
@@ -358,18 +358,39 @@ libxlMigrateReceive(virNetSocketPtr sock
|
||||||
static int
|
static int
|
||||||
libxlDoMigrateSend(libxlDriverPrivatePtr driver,
|
libxlDoMigrateSend(libxlDriverPrivatePtr driver,
|
||||||
@ -145,7 +145,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Failed to send migration data to destination host"));
|
_("Failed to send migration data to destination host"));
|
||||||
@@ -720,7 +741,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
@@ -723,7 +744,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
||||||
const char *dconnuri ATTRIBUTE_UNUSED,
|
const char *dconnuri ATTRIBUTE_UNUSED,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
const char *uri,
|
const char *uri,
|
||||||
@ -154,7 +154,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
virDomainPtr ddomain = NULL;
|
virDomainPtr ddomain = NULL;
|
||||||
virTypedParameterPtr params = NULL;
|
virTypedParameterPtr params = NULL;
|
||||||
@@ -757,7 +778,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
@@ -760,7 +781,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
||||||
/* We don't require the destination to have P2P support
|
/* We don't require the destination to have P2P support
|
||||||
* as it looks to be normal migration from the receiver perpective.
|
* as it looks to be normal migration from the receiver perpective.
|
||||||
*/
|
*/
|
||||||
@ -163,7 +163,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
VIR_DEBUG("Prepare3");
|
VIR_DEBUG("Prepare3");
|
||||||
virObjectUnlock(vm);
|
virObjectUnlock(vm);
|
||||||
@@ -782,7 +803,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
@@ -785,7 +806,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
||||||
|
|
||||||
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
|
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
|
||||||
ret = libxlDomainMigrationPerform(driver, vm, NULL, NULL,
|
ret = libxlDomainMigrationPerform(driver, vm, NULL, NULL,
|
||||||
@ -172,7 +172,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
orig_err = virSaveLastError();
|
orig_err = virSaveLastError();
|
||||||
@@ -814,7 +835,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
@@ -817,7 +838,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr
|
||||||
orig_err = virSaveLastError();
|
orig_err = virSaveLastError();
|
||||||
|
|
||||||
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
||||||
@ -181,7 +181,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
||||||
@@ -863,7 +884,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
@@ -866,7 +887,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
||||||
const char *dconnuri,
|
const char *dconnuri,
|
||||||
const char *uri_str ATTRIBUTE_UNUSED,
|
const char *uri_str ATTRIBUTE_UNUSED,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
@ -190,7 +190,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
bool useParams;
|
bool useParams;
|
||||||
@@ -898,7 +919,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
@@ -901,7 +922,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = libxlDoMigrateP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
ret = libxlDoMigrateP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
||||||
@ -199,7 +199,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
orig_err = virSaveLastError();
|
orig_err = virSaveLastError();
|
||||||
@@ -920,7 +941,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
@@ -923,7 +944,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
||||||
const char *dconnuri ATTRIBUTE_UNUSED,
|
const char *dconnuri ATTRIBUTE_UNUSED,
|
||||||
const char *uri_str,
|
const char *uri_str,
|
||||||
const char *dname ATTRIBUTE_UNUSED,
|
const char *dname ATTRIBUTE_UNUSED,
|
||||||
@ -208,7 +208,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
libxlDomainObjPrivatePtr priv = vm->privateData;
|
libxlDomainObjPrivatePtr priv = vm->privateData;
|
||||||
char *hostname = NULL;
|
char *hostname = NULL;
|
||||||
@@ -960,7 +981,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
@@ -963,7 +984,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
||||||
|
|
||||||
/* suspend vm and send saved data to dst through socket fd */
|
/* suspend vm and send saved data to dst through socket fd */
|
||||||
virObjectUnlock(vm);
|
virObjectUnlock(vm);
|
||||||
@ -217,11 +217,11 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.c
|
|||||||
virObjectLock(vm);
|
virObjectLock(vm);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_migration.h
|
Index: libvirt-2.3.0/src/libxl/libxl_migration.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_migration.h
|
--- libvirt-2.3.0.orig/src/libxl/libxl_migration.h
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_migration.h
|
+++ libvirt-2.3.0/src/libxl/libxl_migration.h
|
||||||
@@ -37,6 +37,10 @@
|
@@ -38,6 +38,10 @@
|
||||||
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
||||||
VIR_MIGRATE_PARAM_DEST_XML, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_DEST_XML, VIR_TYPED_PARAM_STRING, \
|
||||||
@ -232,7 +232,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.h
|
|||||||
NULL
|
NULL
|
||||||
|
|
||||||
char *
|
char *
|
||||||
@@ -60,6 +64,14 @@ libxlDomainMigrationPrepare(virConnectPt
|
@@ -61,6 +65,14 @@ libxlDomainMigrationPrepare(virConnectPt
|
||||||
int cookieinlen,
|
int cookieinlen,
|
||||||
unsigned int flags);
|
unsigned int flags);
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.h
|
|||||||
int
|
int
|
||||||
libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
|
libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
@@ -68,7 +80,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
@@ -69,7 +81,7 @@ libxlDomainMigrationPerformP2P(libxlDriv
|
||||||
const char *dconnuri,
|
const char *dconnuri,
|
||||||
const char *uri_str,
|
const char *uri_str,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
@ -256,7 +256,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.h
|
|||||||
|
|
||||||
int
|
int
|
||||||
libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
|
libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
|
||||||
@@ -77,7 +89,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
@@ -78,7 +90,7 @@ libxlDomainMigrationPerform(libxlDriverP
|
||||||
const char *dconnuri,
|
const char *dconnuri,
|
||||||
const char *uri_str,
|
const char *uri_str,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
@ -265,11 +265,11 @@ Index: libvirt-2.2.0/src/libxl/libxl_migration.h
|
|||||||
|
|
||||||
virDomainPtr
|
virDomainPtr
|
||||||
libxlDomainMigrationFinish(virConnectPtr dconn,
|
libxlDomainMigrationFinish(virConnectPtr dconn,
|
||||||
Index: libvirt-2.2.0/tools/virsh-domain.c
|
Index: libvirt-2.3.0/tools/virsh-domain.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/virsh-domain.c
|
--- libvirt-2.3.0.orig/tools/virsh-domain.c
|
||||||
+++ libvirt-2.2.0/tools/virsh-domain.c
|
+++ libvirt-2.3.0/tools/virsh-domain.c
|
||||||
@@ -9972,6 +9972,22 @@ static const vshCmdOptDef opts_migrate[]
|
@@ -9980,6 +9980,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||||
.type = VSH_OT_INT,
|
.type = VSH_OT_INT,
|
||||||
.help = N_("CPU throttling rate increment for auto-convergence")
|
.help = N_("CPU throttling rate increment for auto-convergence")
|
||||||
},
|
},
|
||||||
@ -292,7 +292,7 @@ Index: libvirt-2.2.0/tools/virsh-domain.c
|
|||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -9995,6 +10011,7 @@ doMigrate(void *opaque)
|
@@ -10003,6 +10019,7 @@ doMigrate(void *opaque)
|
||||||
unsigned long long ullOpt = 0;
|
unsigned long long ullOpt = 0;
|
||||||
int rv;
|
int rv;
|
||||||
virConnectPtr dconn = data->dconn;
|
virConnectPtr dconn = data->dconn;
|
||||||
@ -300,7 +300,7 @@ Index: libvirt-2.2.0/tools/virsh-domain.c
|
|||||||
|
|
||||||
sigemptyset(&sigmask);
|
sigemptyset(&sigmask);
|
||||||
sigaddset(&sigmask, SIGINT);
|
sigaddset(&sigmask, SIGINT);
|
||||||
@@ -10114,6 +10131,27 @@ doMigrate(void *opaque)
|
@@ -10122,6 +10139,27 @@ doMigrate(void *opaque)
|
||||||
goto save_error;
|
goto save_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,11 +328,11 @@ Index: libvirt-2.2.0/tools/virsh-domain.c
|
|||||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||||
goto out;
|
goto out;
|
||||||
if (opt) {
|
if (opt) {
|
||||||
Index: libvirt-2.2.0/tools/virsh.pod
|
Index: libvirt-2.3.0/tools/virsh.pod
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/tools/virsh.pod
|
--- libvirt-2.3.0.orig/tools/virsh.pod
|
||||||
+++ libvirt-2.2.0/tools/virsh.pod
|
+++ libvirt-2.3.0/tools/virsh.pod
|
||||||
@@ -1662,6 +1662,14 @@ compression. I<--comp-mt-threads> and I<
|
@@ -1668,6 +1668,14 @@ compression. I<--comp-mt-threads> and I<
|
||||||
of compress threads on source and the number of decompress threads on target
|
of compress threads on source and the number of decompress threads on target
|
||||||
respectively. I<--comp-xbzrle-cache> sets size of page cache in bytes.
|
respectively. I<--comp-xbzrle-cache> sets size of page cache in bytes.
|
||||||
|
|
||||||
|
@ -7,11 +7,11 @@ and npiv.
|
|||||||
|
|
||||||
For more details, see bsc#954872 and FATE#319810
|
For more details, see bsc#954872 and FATE#319810
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
Index: libvirt-2.3.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-2.3.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_conf.c
|
+++ libvirt-2.3.0/src/libxl/libxl_conf.c
|
||||||
@@ -557,6 +557,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -584,6 +584,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
|||||||
static void
|
static void
|
||||||
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
||||||
{
|
{
|
||||||
@@ -701,6 +720,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
@@ -728,6 +747,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||||
int
|
int
|
||||||
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
||||||
{
|
{
|
||||||
@ -45,7 +45,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
|||||||
const char *driver = virDomainDiskGetDriver(l_disk);
|
const char *driver = virDomainDiskGetDriver(l_disk);
|
||||||
int format = virDomainDiskGetFormat(l_disk);
|
int format = virDomainDiskGetFormat(l_disk);
|
||||||
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
||||||
@@ -716,7 +736,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -743,7 +763,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
@ -54,7 +54,7 @@ Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -824,6 +844,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -851,6 +871,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
commit e7af9dcf1fb0703828ef9740cb9b9c00f2fa00a4
|
|
||||||
Author: Cédric Bosdonnat <cbosdonnat@suse.com>
|
|
||||||
Date: Fri Aug 5 09:10:50 2016 +0200
|
|
||||||
|
|
||||||
libxl: allow vendor/product addressing for USB hostdevs
|
|
||||||
|
|
||||||
libxl only has API to address the host USB devices by bus/device.
|
|
||||||
Find the bus/device if the user only provided the vendor/product
|
|
||||||
of the USB device.
|
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libxl/libxl_conf.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/src/libxl/libxl_conf.c
|
|
||||||
+++ libvirt-2.2.0/src/libxl/libxl_conf.c
|
|
||||||
@@ -1559,23 +1559,36 @@ int
|
|
||||||
libxlMakeUSB(virDomainHostdevDefPtr hostdev, libxl_device_usbdev *usbdev)
|
|
||||||
{
|
|
||||||
virDomainHostdevSubsysUSBPtr usbsrc = &hostdev->source.subsys.u.usb;
|
|
||||||
+ virUSBDevicePtr usb = NULL;
|
|
||||||
+ int ret = -1;
|
|
||||||
|
|
||||||
if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS)
|
|
||||||
- return -1;
|
|
||||||
+ goto cleanup;
|
|
||||||
if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB)
|
|
||||||
- return -1;
|
|
||||||
+ goto cleanup;
|
|
||||||
|
|
||||||
- if (usbsrc->bus <= 0 || usbsrc->device <= 0) {
|
|
||||||
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
|
||||||
- _("libxenlight supports only USB device "
|
|
||||||
- "specified by busnum:devnum"));
|
|
||||||
- return -1;
|
|
||||||
+ if (usbsrc->bus > 0 && usbsrc->device > 0) {
|
|
||||||
+ usbdev->u.hostdev.hostbus = usbsrc->bus;
|
|
||||||
+ usbdev->u.hostdev.hostaddr = usbsrc->device;
|
|
||||||
+ } else {
|
|
||||||
+ if (virHostdevFindUSBDevice(hostdev, true, &usb) < 0) {
|
|
||||||
+ virReportError(VIR_ERR_OPERATION_FAILED,
|
|
||||||
+ _("failed to find USB device busnum:devnum "
|
|
||||||
+ "for %x:%x"),
|
|
||||||
+ usbsrc->vendor, usbsrc->product);
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ usbdev->u.hostdev.hostbus = virUSBDeviceGetBus(usb);
|
|
||||||
+ usbdev->u.hostdev.hostaddr = virUSBDeviceGetDevno(usb);
|
|
||||||
}
|
|
||||||
|
|
||||||
- usbdev->u.hostdev.hostbus = usbsrc->bus;
|
|
||||||
- usbdev->u.hostdev.hostaddr = usbsrc->device;
|
|
||||||
+ ret = 0;
|
|
||||||
+
|
|
||||||
+ cleanup:
|
|
||||||
+ virUSBDeviceFree(usb);
|
|
||||||
|
|
||||||
- return 0;
|
|
||||||
+ return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
@ -13,10 +13,10 @@ device with the same name that is being created.
|
|||||||
src/lxc/lxc_process.c | 1 +
|
src/lxc/lxc_process.c | 1 +
|
||||||
3 files changed, 4 insertions(+)
|
3 files changed, 4 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/lxc/lxc_controller.c
|
Index: libvirt-2.3.0/src/lxc/lxc_controller.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/lxc/lxc_controller.c
|
--- libvirt-2.3.0.orig/src/lxc/lxc_controller.c
|
||||||
+++ libvirt-2.2.0/src/lxc/lxc_controller.c
|
+++ libvirt-2.3.0/src/lxc/lxc_controller.c
|
||||||
@@ -2009,6 +2009,7 @@ static int virLXCControllerDeleteInterfa
|
@@ -2009,6 +2009,7 @@ static int virLXCControllerDeleteInterfa
|
||||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
@ -25,10 +25,10 @@ Index: libvirt-2.2.0/src/lxc/lxc_controller.c
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
Index: libvirt-2.2.0/src/lxc/lxc_driver.c
|
Index: libvirt-2.3.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-2.3.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-2.2.0/src/lxc/lxc_driver.c
|
+++ libvirt-2.3.0/src/lxc/lxc_driver.c
|
||||||
@@ -4025,6 +4025,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
|
@@ -4025,6 +4025,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
|
||||||
case VIR_DOMAIN_NET_TYPE_NETWORK:
|
case VIR_DOMAIN_NET_TYPE_NETWORK:
|
||||||
case VIR_DOMAIN_NET_TYPE_ETHERNET:
|
case VIR_DOMAIN_NET_TYPE_ETHERNET:
|
||||||
@ -45,10 +45,10 @@ Index: libvirt-2.2.0/src/lxc/lxc_driver.c
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
/* It'd be nice to support this, but with macvlan
|
/* It'd be nice to support this, but with macvlan
|
||||||
Index: libvirt-2.2.0/src/lxc/lxc_process.c
|
Index: libvirt-2.3.0/src/lxc/lxc_process.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/lxc/lxc_process.c
|
--- libvirt-2.3.0.orig/src/lxc/lxc_process.c
|
||||||
+++ libvirt-2.2.0/src/lxc/lxc_process.c
|
+++ libvirt-2.3.0/src/lxc/lxc_process.c
|
||||||
@@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD
|
@@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD
|
||||||
}
|
}
|
||||||
networkReleaseActualDevice(vm->def, iface);
|
networkReleaseActualDevice(vm->def, iface);
|
||||||
|
@ -1,210 +0,0 @@
|
|||||||
From 9bd9a05b8b64489598ca4e0d241247cb99406d20 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Mon, 1 Aug 2016 21:16:43 -0600
|
|
||||||
Subject: [PATCH] virpci: support driver_override sysfs interface
|
|
||||||
|
|
||||||
libvirt uses the new_id PCI sysfs interface to bind a PCI stub driver
|
|
||||||
to a PCI device. The new_id interface is known to be buggy and racey,
|
|
||||||
hence a more deterministic interface was introduced in the 3.12 kernel:
|
|
||||||
driver_override. For more details see
|
|
||||||
|
|
||||||
https://www.redhat.com/archives/libvir-list/2016-June/msg02124.html
|
|
||||||
|
|
||||||
This patch adds support for the driver_override interface by
|
|
||||||
|
|
||||||
- adding new virPCIDevice{BindTo,UnbindFrom}StubWithOverride functions
|
|
||||||
that use the driver_override interface
|
|
||||||
- renames the existing virPCIDevice{BindTo,UnbindFrom}Stub functions
|
|
||||||
to virPCIDevice{BindTo,UnbindFrom}StubWithNewid to perserve existing
|
|
||||||
behavior on new_id interface
|
|
||||||
- changes virPCIDevice{BindTo,UnbindFrom}Stub function to call one of
|
|
||||||
the above depending on availability of driver_override
|
|
||||||
|
|
||||||
The patch includes a bit of duplicate code, but allows for easily
|
|
||||||
dropping the new_id code once support for older kernels is no
|
|
||||||
longer desired.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
---
|
|
||||||
src/util/virpci.c | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
|
|
||||||
1 file changed, 149 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/util/virpci.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/src/util/virpci.c
|
|
||||||
+++ libvirt-2.2.0/src/util/virpci.c
|
|
||||||
@@ -1089,8 +1089,54 @@ virPCIDeviceUnbind(virPCIDevicePtr dev)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * Bind a PCI device to a driver using driver_override sysfs interface.
|
|
||||||
+ * E.g.
|
|
||||||
+ *
|
|
||||||
+ * echo driver-name > /sys/bus/pci/devices/0000:03:00.0/driver_override
|
|
||||||
+ * echo 0000:03:00.0 > /sys/bus/pci/devices/0000:03:00.0/driver/unbind
|
|
||||||
+ * echo 0000:03:00.0 > /sys/bus/pci/drivers_probe
|
|
||||||
+ *
|
|
||||||
+ * An empty driverName will cause the device to be bound to its
|
|
||||||
+ * preferred driver.
|
|
||||||
+ */
|
|
||||||
static int
|
|
||||||
-virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
|
|
||||||
+virPCIDeviceBindWithDriverOverride(virPCIDevicePtr dev,
|
|
||||||
+ const char *driverName)
|
|
||||||
+{
|
|
||||||
+ int ret = -1;
|
|
||||||
+ char *path;
|
|
||||||
+
|
|
||||||
+ if (!(path = virPCIFile(dev->name, "driver_override")))
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ if (virFileWriteStr(path, driverName, 0) < 0) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Failed to add driver '%s' to driver_override "
|
|
||||||
+ " interface of PCI device '%s'"),
|
|
||||||
+ driverName, dev->name);
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (virPCIDeviceUnbind(dev) < 0)
|
|
||||||
+ goto cleanup;
|
|
||||||
+
|
|
||||||
+ if (virFileWriteStr(PCI_SYSFS "drivers_probe", dev->name, 0) < 0) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Failed to trigger a probe for PCI device '%s'"),
|
|
||||||
+ dev->name);
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ret = 0;
|
|
||||||
+
|
|
||||||
+ cleanup:
|
|
||||||
+ VIR_FREE(path);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+virPCIDeviceUnbindFromStubWithNewid(virPCIDevicePtr dev)
|
|
||||||
{
|
|
||||||
int result = -1;
|
|
||||||
char *drvdir = NULL;
|
|
||||||
@@ -1191,9 +1237,41 @@ virPCIDeviceUnbindFromStub(virPCIDeviceP
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int
|
|
||||||
+virPCIDeviceUnbindFromStubWithOverride(virPCIDevicePtr dev)
|
|
||||||
+{
|
|
||||||
+ if (!dev->unbind_from_stub) {
|
|
||||||
+ VIR_DEBUG("Unbind from stub skipped for PCI device %s", dev->name);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return virPCIDeviceBindWithDriverOverride(dev, "\n");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+virPCIDeviceUnbindFromStub(virPCIDevicePtr dev)
|
|
||||||
+{
|
|
||||||
+ int ret;
|
|
||||||
+ char *path;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Prefer using the device's driver_override interface, falling back
|
|
||||||
+ * to the unpleasant new_id interface.
|
|
||||||
+ */
|
|
||||||
+ if (!(path = virPCIFile(dev->name, "driver_override")))
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ if (virFileExists(path))
|
|
||||||
+ ret = virPCIDeviceUnbindFromStubWithOverride(dev);
|
|
||||||
+ else
|
|
||||||
+ ret = virPCIDeviceUnbindFromStubWithNewid(dev);
|
|
||||||
+
|
|
||||||
+ VIR_FREE(path);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
|
|
||||||
static int
|
|
||||||
-virPCIDeviceBindToStub(virPCIDevicePtr dev)
|
|
||||||
+virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev)
|
|
||||||
{
|
|
||||||
int result = -1;
|
|
||||||
bool reprobe = false;
|
|
||||||
@@ -1345,6 +1423,75 @@ virPCIDeviceBindToStub(virPCIDevicePtr d
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int
|
|
||||||
+virPCIDeviceBindToStubWithOverride(virPCIDevicePtr dev)
|
|
||||||
+{
|
|
||||||
+ int ret = -1;
|
|
||||||
+ const char *stubDriverName;
|
|
||||||
+ char *stubDriverPath = NULL;
|
|
||||||
+ char *driverLink = NULL;
|
|
||||||
+
|
|
||||||
+ /* Check the device is configured to use one of the known stub drivers */
|
|
||||||
+ if (dev->stubDriver == VIR_PCI_STUB_DRIVER_NONE) {
|
|
||||||
+ virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
+ _("No stub driver configured for PCI device %s"),
|
|
||||||
+ dev->name);
|
|
||||||
+ return -1;
|
|
||||||
+ } else if (!(stubDriverName = virPCIStubDriverTypeToString(dev->stubDriver))) {
|
|
||||||
+ virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
+ _("Unknown stub driver configured for PCI device %s"),
|
|
||||||
+ dev->name);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!(stubDriverPath = virPCIDriverDir(stubDriverName)) ||
|
|
||||||
+ !(driverLink = virPCIFile(dev->name, "driver")))
|
|
||||||
+ goto cleanup;
|
|
||||||
+
|
|
||||||
+ if (virFileExists(driverLink)) {
|
|
||||||
+ if (virFileLinkPointsTo(driverLink, stubDriverPath)) {
|
|
||||||
+ /* The device is already bound to the correct driver */
|
|
||||||
+ VIR_DEBUG("Device %s is already bound to %s",
|
|
||||||
+ dev->name, stubDriverName);
|
|
||||||
+ ret = 0;
|
|
||||||
+ goto cleanup;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (virPCIDeviceBindWithDriverOverride(dev, stubDriverName) < 0)
|
|
||||||
+ goto cleanup;
|
|
||||||
+
|
|
||||||
+ dev->unbind_from_stub = true;
|
|
||||||
+ ret = 0;
|
|
||||||
+
|
|
||||||
+ cleanup:
|
|
||||||
+ VIR_FREE(stubDriverPath);
|
|
||||||
+ VIR_FREE(driverLink);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int
|
|
||||||
+virPCIDeviceBindToStub(virPCIDevicePtr dev)
|
|
||||||
+{
|
|
||||||
+ int ret;
|
|
||||||
+ char *path;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Prefer using the device's driver_override interface, falling back
|
|
||||||
+ * to the unpleasant new_id interface.
|
|
||||||
+ */
|
|
||||||
+ if (!(path = virPCIFile(dev->name, "driver_override")))
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ if (virFileExists(path))
|
|
||||||
+ ret = virPCIDeviceBindToStubWithOverride(dev);
|
|
||||||
+ else
|
|
||||||
+ ret = virPCIDeviceBindToStubWithNewid(dev);
|
|
||||||
+
|
|
||||||
+ VIR_FREE(path);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* virPCIDeviceDetach:
|
|
||||||
*
|
|
||||||
* Detach this device from the host driver, attach it to the stub
|
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
|||||||
|
|
||||||
See bnc#894956
|
See bnc#894956
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/util/virarch.c
|
Index: libvirt-2.3.0/src/util/virarch.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/util/virarch.c
|
--- libvirt-2.3.0.orig/src/util/virarch.c
|
||||||
+++ libvirt-2.2.0/src/util/virarch.c
|
+++ libvirt-2.3.0/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-2.2.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-2.3.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-2.3.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-2.2.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-2.3.0/examples/apparmor/libvirt-qemu
|
||||||
@@ -151,3 +151,6 @@
|
@@ -151,3 +151,6 @@
|
||||||
/etc/udev/udev.conf r,
|
/etc/udev/udev.conf r,
|
||||||
/sys/bus/ r,
|
/sys/bus/ r,
|
||||||
|
@ -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-2.2.0/src/xenconfig/xen_common.c
|
Index: libvirt-2.3.0/src/xenconfig/xen_common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/xenconfig/xen_common.c
|
--- libvirt-2.3.0.orig/src/xenconfig/xen_common.c
|
||||||
+++ libvirt-2.2.0/src/xenconfig/xen_common.c
|
+++ libvirt-2.3.0/src/xenconfig/xen_common.c
|
||||||
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
|
||||||
{
|
{
|
||||||
virConfValuePtr list = virConfGetValue(conf, "pci");
|
virConfValuePtr list = virConfGetValue(conf, "pci");
|
||||||
@ -66,10 +66,10 @@ Index: libvirt-2.2.0/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-2.2.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-2.3.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-2.2.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def,
|
@@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def,
|
||||||
int busID;
|
int busID;
|
||||||
int slotID;
|
int slotID;
|
||||||
|
@ -7,11 +7,11 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
|
|||||||
etc.), but for now they are all lumped together in this
|
etc.), but for now they are all lumped together in this
|
||||||
single patch.
|
single patch.
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/qemu/qemu.conf
|
Index: libvirt-2.3.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/qemu/qemu.conf
|
--- libvirt-2.3.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-2.2.0/src/qemu/qemu.conf
|
+++ libvirt-2.3.0/src/qemu/qemu.conf
|
||||||
@@ -212,11 +212,20 @@
|
@@ -259,11 +259,20 @@
|
||||||
# isolation, but it cannot appear in a list of drivers.
|
# isolation, but it cannot appear in a list of drivers.
|
||||||
#
|
#
|
||||||
#security_driver = "selinux"
|
#security_driver = "selinux"
|
||||||
@ -34,7 +34,7 @@ Index: libvirt-2.2.0/src/qemu/qemu.conf
|
|||||||
|
|
||||||
# If set to non-zero, then attempts to create unconfined
|
# If set to non-zero, then attempts to create unconfined
|
||||||
# guests will be blocked. Defaults to 0.
|
# guests will be blocked. Defaults to 0.
|
||||||
@@ -428,11 +437,22 @@
|
@@ -507,11 +516,22 @@
|
||||||
#allow_disk_format_probing = 1
|
#allow_disk_format_probing = 1
|
||||||
|
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ Index: libvirt-2.2.0/src/qemu/qemu.conf
|
|||||||
#
|
#
|
||||||
#lock_manager = "lockd"
|
#lock_manager = "lockd"
|
||||||
|
|
||||||
@@ -523,9 +543,8 @@
|
@@ -602,9 +622,8 @@
|
||||||
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
||||||
# follows this scheme.
|
# follows this scheme.
|
||||||
#nvram = [
|
#nvram = [
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: libvirt-2.2.0/daemon/libvirtd.service.in
|
Index: libvirt-2.3.0/daemon/libvirtd.service.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/daemon/libvirtd.service.in
|
--- libvirt-2.3.0.orig/daemon/libvirtd.service.in
|
||||||
+++ libvirt-2.2.0/daemon/libvirtd.service.in
|
+++ libvirt-2.3.0/daemon/libvirtd.service.in
|
||||||
@@ -12,6 +12,7 @@ After=iscsid.service
|
@@ -13,6 +13,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
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
commit e05e2dba970d3f4b5ec9bed80a7f0bb4ccc43dc8
|
|
||||||
Author: Cédric Bosdonnat <cbosdonnat@suse.com>
|
|
||||||
Date: Fri Aug 5 09:10:49 2016 +0200
|
|
||||||
|
|
||||||
Add virHostdevFindUSBDevice to private symbols
|
|
||||||
|
|
||||||
Finding an USB device from the vendor/device values will be needed
|
|
||||||
by libxl driver to convert from vendor/device to bus/dev addresses.
|
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/libvirt_private.syms
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/src/libvirt_private.syms
|
|
||||||
+++ libvirt-2.2.0/src/libvirt_private.syms
|
|
||||||
@@ -1648,6 +1648,7 @@ virHookPresent;
|
|
||||||
|
|
||||||
|
|
||||||
# util/virhostdev.h
|
|
||||||
+virHostdevFindUSBDevice;
|
|
||||||
virHostdevManagerGetDefault;
|
|
||||||
virHostdevPCINodeDeviceDetach;
|
|
||||||
virHostdevPCINodeDeviceReAttach;
|
|
||||||
Index: libvirt-2.2.0/src/util/virhostdev.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/src/util/virhostdev.c
|
|
||||||
+++ libvirt-2.2.0/src/util/virhostdev.c
|
|
||||||
@@ -1178,7 +1178,7 @@ virHostdevMarkUSBDevices(virHostdevManag
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-static int
|
|
||||||
+int
|
|
||||||
virHostdevFindUSBDevice(virDomainHostdevDefPtr hostdev,
|
|
||||||
bool mandatory,
|
|
||||||
virUSBDevicePtr *usb)
|
|
||||||
Index: libvirt-2.2.0/src/util/virhostdev.h
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-2.2.0.orig/src/util/virhostdev.h
|
|
||||||
+++ libvirt-2.2.0/src/util/virhostdev.h
|
|
||||||
@@ -66,6 +66,12 @@ virHostdevPreparePCIDevices(virHostdevMa
|
|
||||||
unsigned int flags)
|
|
||||||
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
|
|
||||||
ATTRIBUTE_NONNULL(4);
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+virHostdevFindUSBDevice(virDomainHostdevDefPtr hostdev,
|
|
||||||
+ bool mandatory,
|
|
||||||
+ virUSBDevicePtr *usb)
|
|
||||||
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3);
|
|
||||||
int
|
|
||||||
virHostdevPrepareUSBDevices(virHostdevManagerPtr hostdev_mgr,
|
|
||||||
const char *drv_name,
|
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlockd init files to conform to SUSE standards
|
Adjust virtlockd init files to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/locking/virtlockd.sysconf
|
Index: libvirt-2.3.0/src/locking/virtlockd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/locking/virtlockd.sysconf
|
--- libvirt-2.3.0.orig/src/locking/virtlockd.sysconf
|
||||||
+++ libvirt-2.2.0/src/locking/virtlockd.sysconf
|
+++ libvirt-2.3.0/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-2.2.0/src/locking/virtlockd.sysconf
|
|||||||
#
|
#
|
||||||
# Pass extra arguments to virtlockd
|
# Pass extra arguments to virtlockd
|
||||||
#VIRTLOCKD_ARGS=
|
#VIRTLOCKD_ARGS=
|
||||||
Index: libvirt-2.2.0/src/locking/virtlockd.init.in
|
Index: libvirt-2.3.0/src/locking/virtlockd.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/locking/virtlockd.init.in
|
--- libvirt-2.3.0.orig/src/locking/virtlockd.init.in
|
||||||
+++ libvirt-2.2.0/src/locking/virtlockd.init.in
|
+++ libvirt-2.3.0/src/locking/virtlockd.init.in
|
||||||
@@ -4,59 +4,57 @@
|
@@ -4,59 +4,57 @@
|
||||||
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
||||||
#
|
#
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlogd init files to conform to SUSE standards
|
Adjust virtlogd init files to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/logging/virtlogd.init.in
|
Index: libvirt-2.3.0/src/logging/virtlogd.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/logging/virtlogd.init.in
|
--- libvirt-2.3.0.orig/src/logging/virtlogd.init.in
|
||||||
+++ libvirt-2.2.0/src/logging/virtlogd.init.in
|
+++ libvirt-2.3.0/src/logging/virtlogd.init.in
|
||||||
@@ -4,59 +4,56 @@
|
@@ -4,59 +4,56 @@
|
||||||
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
||||||
#
|
#
|
||||||
@ -126,10 +126,10 @@ Index: libvirt-2.2.0/src/logging/virtlogd.init.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-2.2.0/src/logging/virtlogd.sysconf
|
Index: libvirt-2.3.0/src/logging/virtlogd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/logging/virtlogd.sysconf
|
--- libvirt-2.3.0.orig/src/logging/virtlogd.sysconf
|
||||||
+++ libvirt-2.2.0/src/logging/virtlogd.sysconf
|
+++ libvirt-2.3.0/src/logging/virtlogd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlogd
|
+## Path: System/Virtualization/virtlogd
|
||||||
+
|
+
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-2.2.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-2.3.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-2.2.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un
|
@@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un
|
||||||
static int
|
static int
|
||||||
xenParseSxprDisks(virDomainDefPtr def,
|
xenParseSxprDisks(virDomainDefPtr def,
|
||||||
|
@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c.
|
|||||||
|
|
||||||
https://bugzilla.suse.com/show_bug.cgi?id=938228
|
https://bugzilla.suse.com/show_bug.cgi?id=938228
|
||||||
|
|
||||||
Index: libvirt-2.2.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-2.2.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-2.3.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-2.2.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-2.3.0/src/xenconfig/xen_sxpr.c
|
||||||
@@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def,
|
@@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def,
|
||||||
omnipotent, we can revisit this, perhaps stat()'ing
|
omnipotent, we can revisit this, perhaps stat()'ing
|
||||||
the src file in question */
|
the src file in question */
|
||||||
|
Loading…
Reference in New Issue
Block a user