From 96a1f2af343bc4d793827614c62df26dfb28fffa41810b49c319072b6bc0c0dc Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Fri, 28 Apr 2017 16:14:51 +0000 Subject: [PATCH] Accepting request 491883 from home:jfehlig:branches:Virtualization - Update to libvirt 3.3.0 RC1 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped patches: ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch - Bug fixes: bsc#978121, bsc#1017017, bsc#1032863, bsc#1033117, bsc#1034024, bsc#1034146 - libxl: add default controllers for USB devices libxl-def-usbctrl.patch bsc#1031056 OBS-URL: https://build.opensuse.org/request/show/491883 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=599 --- ...hen-hyperv-vendor_id-feature-is-used.patch | 72 ---------- apparmor-fixes.patch | 6 +- apparmor-no-mount.patch | 6 +- blockcopy-check-dst-identical-device.patch | 8 +- libvirt-3.2.0.tar.xz | 3 - libvirt-3.2.0.tar.xz.asc | 10 -- libvirt-3.3.0.tar.xz | 3 + libvirt-3.3.0.tar.xz.asc | 11 ++ libvirt-guests-init-script.patch | 18 +-- libvirt-power8-models.patch | 6 +- libvirt-suse-netcontrol.patch | 44 +++--- libvirt.changes | 15 +++ libvirt.keyring | 35 ++++- libvirt.spec | 7 +- libvirtd-defaults.patch | 18 +-- libvirtd-init-script.patch | 6 +- libxl-def-usbctrl.patch | 127 ++++++++++++++++++ libxl-dom-reset.patch | 10 +- libxl-qemu-emulator-caps.patch | 6 +- libxl-set-cach-mode.patch | 10 +- libxl-set-migration-constraints.patch | 48 +++---- libxl-support-block-script.patch | 14 +- lxc-wait-after-eth-del.patch | 22 +-- ...e-dhcp-authoritative-on-static-netwo.patch | 14 +- ppc64le-canonical-name.patch | 6 +- qemu-apparmor-screenshot.patch | 6 +- support-managed-pci-xen-driver.patch | 12 +- suse-libvirtd-service.patch | 6 +- suse-qemu-conf.patch | 6 +- systemd-service-xen.patch | 6 +- virtlockd-init-script.patch | 12 +- virtlogd-init-script.patch | 12 +- xen-pv-cdrom.patch | 6 +- xen-sxpr-disk-type.patch | 6 +- 34 files changed, 351 insertions(+), 246 deletions(-) delete mode 100644 ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch delete mode 100644 libvirt-3.2.0.tar.xz delete mode 100644 libvirt-3.2.0.tar.xz.asc create mode 100644 libvirt-3.3.0.tar.xz create mode 100644 libvirt-3.3.0.tar.xz.asc create mode 100644 libxl-def-usbctrl.patch diff --git a/ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch b/ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch deleted file mode 100644 index 059d5c5..0000000 --- a/ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch +++ /dev/null @@ -1,72 +0,0 @@ -From ae102b5d7bccd29bc6015a3e0acefeaa90d097ac Mon Sep 17 00:00:00 2001 -From: Jiri Denemark -Date: Thu, 6 Apr 2017 13:52:30 +0200 -Subject: [PATCH] qemu: Fix regression when hyperv/vendor_id feature is used - -qemuProcessVerifyHypervFeatures is supposed to check whether all -requested hyperv features were actually honored by QEMU/KVM. This is -done by checking the corresponding CPUID bits reported by the virtual -CPU. In other words, it doesn't work for string properties, such as -VIR_DOMAIN_HYPERV_VENDOR_ID (there is no CPUID bit we could check). We -could theoretically check all 96 bits corresponding to the vendor -string, but luckily we don't have to check the feature at all. If QEMU -is too old to support hyperv features, the domain won't even start. -Otherwise, it is always supported. - -Without this patch, libvirt refuses to start a domain which contains - - - - - - - -reporting internal error: "unknown CPU feature __kvm_hv_vendor_id. - -This regression was introduced by commit v3.1.0-186-ge9dbe7011, which -(by fixing the virCPUDataCheckFeature condition in -qemuProcessVerifyHypervFeatures) revealed an old bug in the feature -verification code. It's been there ever since the verification was -implemented by commit v1.3.3-rc1-5-g95bbe4bf5, which effectively did not -check VIR_DOMAIN_HYPERV_VENDOR_ID at all. - -https://bugzilla.redhat.com/show_bug.cgi?id=1439424 - -Signed-off-by: Jiri Denemark ---- - src/qemu/qemu_process.c | 6 +++++- - 1 files changed, 5 insertions(+), 1 deletions(-) - -diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c -index e450d06..8323a18 100644 ---- a/src/qemu/qemu_process.c -+++ b/src/qemu/qemu_process.c -@@ -3793,6 +3793,10 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, - int rc; - - for (i = 0; i < VIR_DOMAIN_HYPERV_LAST; i++) { -+ /* always supported string property */ -+ if (i == VIR_DOMAIN_HYPERV_VENDOR_ID) -+ continue; -+ - if (def->hyperv_features[i] != VIR_TRISTATE_SWITCH_ON) - continue; - -@@ -3821,13 +3825,13 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, - case VIR_DOMAIN_HYPERV_SYNIC: - case VIR_DOMAIN_HYPERV_STIMER: - case VIR_DOMAIN_HYPERV_RESET: -- case VIR_DOMAIN_HYPERV_VENDOR_ID: - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("host doesn't support hyperv '%s' feature"), - virDomainHypervTypeToString(i)); - return -1; - - /* coverity[dead_error_begin] */ -+ case VIR_DOMAIN_HYPERV_VENDOR_ID: - case VIR_DOMAIN_HYPERV_LAST: - break; - } --- -1.7.1 - diff --git a/apparmor-fixes.patch b/apparmor-fixes.patch index 5ba094f..7629f02 100644 --- a/apparmor-fixes.patch +++ b/apparmor-fixes.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/examples/apparmor/libvirt-qemu +Index: libvirt-3.3.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-3.2.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-3.2.0/examples/apparmor/libvirt-qemu +--- libvirt-3.3.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-3.3.0/examples/apparmor/libvirt-qemu @@ -146,6 +146,9 @@ # for restore /{usr/,}bin/bash rmix, diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index ef73088..fba6283 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/examples/apparmor/libvirt-lxc +Index: libvirt-3.3.0/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-3.2.0.orig/examples/apparmor/libvirt-lxc -+++ libvirt-3.2.0/examples/apparmor/libvirt-lxc +--- libvirt-3.3.0.orig/examples/apparmor/libvirt-lxc ++++ libvirt-3.3.0/examples/apparmor/libvirt-lxc @@ -2,39 +2,15 @@ #include diff --git a/blockcopy-check-dst-identical-device.patch b/blockcopy-check-dst-identical-device.patch index 1862953..75ac1ec 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-3.2.0/src/qemu/qemu_driver.c +Index: libvirt-3.3.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/qemu/qemu_driver.c -+++ libvirt-3.2.0/src/qemu/qemu_driver.c -@@ -16554,6 +16554,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt +--- libvirt-3.3.0.orig/src/qemu/qemu_driver.c ++++ libvirt-3.3.0/src/qemu/qemu_driver.c +@@ -16566,6 +16566,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt _("non-file destination not supported yet")); goto endjob; } diff --git a/libvirt-3.2.0.tar.xz b/libvirt-3.2.0.tar.xz deleted file mode 100644 index 4438c8c..0000000 --- a/libvirt-3.2.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9481a083b567a07927f239553dd70b5c0d1bff5b9b4ec61be1899981c646209e -size 14057340 diff --git a/libvirt-3.2.0.tar.xz.asc b/libvirt-3.2.0.tar.xz.asc deleted file mode 100644 index e95fe32..0000000 --- a/libvirt-3.2.0.tar.xz.asc +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEcBAABAgAGBQJY4RMFAAoJEBVYiyZZa+pdScUIAMgcsw1t17IsF5VAjBRzz5bI -a5XzJR5WFoziYHE+7M1N0brnh+h7c1AL3kYCz9+k611ql3QHVQs8lkt7tT8GTLLb -FtiGrGREHUNy9xDGE1D32RhlrlNnruYLrkqBTc71dR3SQM2ePNfPAKVCYtZyWw7z -vxKFRAz2R5uQ6XzW7Qo7OJONh9+3ufpHg/gTDR8gOxcQWnW8xUb440qNyrLXIE3F -6TgAbdbCRarwCOb1aE5omp+0AFcnhnkXVChC9gugxvLaqM51A2Ppl5gmEa5J3gqU -kUw7NlmzBrGldlG1RIlcPWS3lPRMm/lQkuvU1SYyJQVaYRVA25VcabyfnDdDUSY= -=zFsI ------END PGP SIGNATURE----- diff --git a/libvirt-3.3.0.tar.xz b/libvirt-3.3.0.tar.xz new file mode 100644 index 0000000..cc28606 --- /dev/null +++ b/libvirt-3.3.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad7af06eca75aee2e347618157fd392f1fef3f4eec275110a6cf1b61b5ca446f +size 13985032 diff --git a/libvirt-3.3.0.tar.xz.asc b/libvirt-3.3.0.tar.xz.asc new file mode 100644 index 0000000..3defb0c --- /dev/null +++ b/libvirt-3.3.0.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEjUiKECNx2wGgDcvNZNVaFdrgLsAFAlkDS5gACgkQZNVaFdrg +LsDmOwf/eajUbk983Ka+iLGHgCul13X3u90UeOkCeqF1Ek95/driVMTOrY9sAHLP +luBavdmsCUQS3y3mzv5h/pJMt9IQq7NSA01PxLExEJWbULIzULr7ac+SoNZe6l9v +DPKmW9x/Zg0C5G4i0AFfq6exitjPKOA/p+kukHEHCQ5r1jkgSv09zxch9nEfa0PU +VuJ/nQga/ePLpW2Kk8yvawY0JjCaU6FTdk5u+iHAY+U4Z/ryYqe+35cbDQHSkgbg +jHgY0WZC22fxq+BIyBNO/bxawdIeDQcv66HYJodLZxM4HdvcpNuBF67zEO7vF0XF +lKFyN94x5uBpqjT0JVbhkHbWENkp9w== +=0rmS +-----END PGP SIGNATURE----- diff --git a/libvirt-guests-init-script.patch b/libvirt-guests-init-script.patch index 4ba9c45..4e304af 100644 --- a/libvirt-guests-init-script.patch +++ b/libvirt-guests-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-3.2.0/tools/libvirt-guests.init.in +Index: libvirt-3.3.0/tools/libvirt-guests.init.in =================================================================== ---- libvirt-3.2.0.orig/tools/libvirt-guests.init.in -+++ libvirt-3.2.0/tools/libvirt-guests.init.in +--- libvirt-3.3.0.orig/tools/libvirt-guests.init.in ++++ libvirt-3.3.0/tools/libvirt-guests.init.in @@ -4,27 +4,27 @@ # http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # @@ -45,10 +45,10 @@ Index: libvirt-3.2.0/tools/libvirt-guests.init.in # exec @libexecdir@/libvirt-guests.sh "$@" -Index: libvirt-3.2.0/tools/libvirt-guests.sh.in +Index: libvirt-3.3.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-3.2.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-3.2.0/tools/libvirt-guests.sh.in +--- libvirt-3.3.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-3.3.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -208,10 +208,10 @@ Index: libvirt-3.2.0/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-3.2.0/tools/libvirt-guests.sysconf +Index: libvirt-3.3.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-3.2.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-3.2.0/tools/libvirt-guests.sysconf +--- libvirt-3.3.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-3.3.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index fbc75dc..05b09cc 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML From: -Index: libvirt-3.2.0/src/cpu/cpu_map.xml +Index: libvirt-3.3.0/src/cpu/cpu_map.xml =================================================================== ---- libvirt-3.2.0.orig/src/cpu/cpu_map.xml -+++ libvirt-3.2.0/src/cpu/cpu_map.xml +--- libvirt-3.3.0.orig/src/cpu/cpu_map.xml ++++ libvirt-3.3.0/src/cpu/cpu_map.xml @@ -1569,6 +1569,8 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index bebe9a9..7fb6bd0 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/configure.ac +Index: libvirt-3.3.0/configure.ac =================================================================== ---- libvirt-3.2.0.orig/configure.ac -+++ libvirt-3.2.0/configure.ac +--- libvirt-3.3.0.orig/configure.ac ++++ libvirt-3.3.0/configure.ac @@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH LIBVIRT_ARG_LIBXML LIBVIRT_ARG_MACVTAP @@ -18,7 +18,7 @@ Index: libvirt-3.2.0/configure.ac LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_OPENWSMAN -@@ -968,6 +970,7 @@ LIBVIRT_RESULT_LIBXL +@@ -969,6 +971,7 @@ LIBVIRT_RESULT_LIBXL LIBVIRT_RESULT_LIBXML LIBVIRT_RESULT_MACVTAP LIBVIRT_RESULT_NETCF @@ -26,11 +26,11 @@ Index: libvirt-3.2.0/configure.ac LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN -Index: libvirt-3.2.0/src/Makefile.am +Index: libvirt-3.3.0/src/Makefile.am =================================================================== ---- libvirt-3.2.0.orig/src/Makefile.am -+++ libvirt-3.2.0/src/Makefile.am -@@ -969,6 +969,10 @@ if WITH_NETCF +--- libvirt-3.3.0.orig/src/Makefile.am ++++ libvirt-3.3.0/src/Makefile.am +@@ -1034,6 +1034,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c endif WITH_NETCF @@ -41,7 +41,7 @@ Index: libvirt-3.2.0/src/Makefile.am if WITH_UDEV INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_udev.c -@@ -1637,6 +1641,10 @@ if WITH_NETCF +@@ -1702,6 +1706,10 @@ if WITH_NETCF libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) endif WITH_NETCF @@ -52,11 +52,11 @@ Index: libvirt-3.2.0/src/Makefile.am if WITH_UDEV libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) -Index: libvirt-3.2.0/tools/virsh.c +Index: libvirt-3.3.0/tools/virsh.c =================================================================== ---- libvirt-3.2.0.orig/tools/virsh.c -+++ libvirt-3.2.0/tools/virsh.c -@@ -602,6 +602,8 @@ virshShowVersion(vshControl *ctl ATTRIBU +--- libvirt-3.3.0.orig/tools/virsh.c ++++ libvirt-3.3.0/tools/virsh.c +@@ -567,6 +567,8 @@ virshShowVersion(vshControl *ctl ATTRIBU vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) vshPrint(ctl, " netcf"); @@ -65,10 +65,10 @@ Index: libvirt-3.2.0/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-3.2.0/src/interface/interface_backend_netcf.c +Index: libvirt-3.3.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-3.2.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-3.2.0/src/interface/interface_backend_netcf.c +--- libvirt-3.3.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-3.3.0/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include @@ -132,7 +132,7 @@ Index: libvirt-3.2.0/src/interface/interface_backend_netcf.c /* open netcf */ if (ncf_init(&driver->netcf, NULL) != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -@@ -1141,6 +1181,19 @@ static virStateDriver interfaceStateDriv +@@ -1143,6 +1183,19 @@ static virStateDriver interfaceStateDriv int netcfIfaceRegister(void) { @@ -152,10 +152,10 @@ Index: libvirt-3.2.0/src/interface/interface_backend_netcf.c if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) return -1; if (virRegisterStateDriver(&interfaceStateDriver) < 0) -Index: libvirt-3.2.0/src/interface/interface_driver.c +Index: libvirt-3.3.0/src/interface/interface_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/interface/interface_driver.c -+++ libvirt-3.2.0/src/interface/interface_driver.c +--- libvirt-3.3.0.orig/src/interface/interface_driver.c ++++ libvirt-3.3.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -173,10 +173,10 @@ Index: libvirt-3.2.0/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-3.2.0/m4/virt-netcontrol.m4 +Index: libvirt-3.3.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-3.2.0/m4/virt-netcontrol.m4 ++++ libvirt-3.3.0/m4/virt-netcontrol.m4 @@ -0,0 +1,39 @@ +dnl The libnetcontrol library +dnl diff --git a/libvirt.changes b/libvirt.changes index 2161ccc..8627c04 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Fri Apr 28 03:30:51 UTC 2017 - jfehlig@suse.com + +- Update to libvirt 3.3.0 RC1 + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Dropped patches: + ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch + - Bug fixes: + bsc#978121, bsc#1017017, bsc#1032863, bsc#1033117, bsc#1034024, + bsc#1034146 +- libxl: add default controllers for USB devices + libxl-def-usbctrl.patch + bsc#1031056 + ------------------------------------------------------------------- Wed Apr 12 22:06:09 UTC 2017 - petracvv@opensuse.org diff --git a/libvirt.keyring b/libvirt.keyring index d099f8f..7f21b59 100644 --- a/libvirt.keyring +++ b/libvirt.keyring @@ -178,4 +178,37 @@ hi0dph9gu0hcNMuDmEgAoIbkOwWEzQJVRTO305bzlIYAOvUiiE4EGBECAAYFAjk1EfwAEgkQ Rga4pd6VvB8HZUdQRwABATrDAJ48v66qkzGGLR2mH2C7SFw0y4OYSACghuQ7BYTNAlVFM7fT lvOUhgA69SI= =aP5f ------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file +-----END PGP PUBLIC KEY BLOCK----- + +user: "James Fehlig (SUSE work email) " + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFkDRwgBCADFsXGkfIAe2SUxscazpo0QsfPP8/IGKUYQEeRk0Y/C/Aww28Q5 +aBDhxMUT4TAR+ySLCEgCPjMOhy5RhfmFNno4NytqmJZqGekq/CCQdJ+dA5twT3sr +wUyy3KFX7Zjah0jgIw8+4E/18xXM1C6ikf5+ZI1uPwhQSofpDgTxrHlL9KPuXuKz +iz/9Ke1EqBcNBrj6spI+Vj9JH0UaanshYj0BYqAYUaBvcqwdfHTi2wgScV/+Wo4S +vethdSY0qynR6R38sF9/vI49tdXQBcF9glX4zCyVH66nPVHS4QjjopCBKXoCeslE +X6F7e4fieozVJRk0zDamKqI3SD5cdordWRS7ABEBAAG0H0phbWVzIEZlaGxpZyA8 +amZlaGxpZ0BzdXNlLmNvbT6JAVQEEwEIAD4WIQSNSIoQI3HbAaANy81k1VoV2uAu +wAUCWQNHCAIbAwUJA8JnAAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRBk1VoV +2uAuwO3DB/9ekJqOh9nCS8dYvCcKBS8NxC/JMImMzE6bdJHL3s1hsjUwqINY6sjw +REw1+QeMpYjK/AR6tvlw4l1XuH8bhgh9FHv3YncR+z8v+BVjDQvxDb/GvmgyrgtK +uc4kW2A0gx/X+QDAt0LyUHhq5tZrXJRw5lhIwBUbV/ysRxHpZgfKlOZwlHfLCvIr +/gM7vRM2Yki3vBJyYpIu8RRwLG7qIKCDZJZVoBJeWAOXHKX1T4rNiVq882zGQLxJ +2hS4JXCbYvbH30r+gkDamRiYaHRSjmXeNoXykixR9S03sSdxpZb+ct9/EoxviCbd +5X421k4IfR7KSPrdYLg8L8dK1kF7CYo1uQENBFkDRwgBCAC/cXAVobHKnekeRTA3 +IFU4YBc+vsd/HQoLYpEIvKcXKlvXu8aK0KPo7lNF480asEw1Q1skcAiUDKlkmkCd +orPt8aN56wUzOMSbbsQ3sCcHjqp8bkjO/9xvAXxxE5xo717SCFPOklW8zGCLfC3x +ffdLCjbOLz/ceWX9rogPEMTNqV59TZNYIshKJhfrsFFCVPEHApUdFc9+GV3Q/AuR +xGAy3sz5X6A3N3ydcwDfR6K3XDttkpbVTrxRSUu12wovLcwqb7FtHTNYSijF1U04 +vINMgcg64Dd6O3WXthpu/ePMw5UQRP7j/iuDUwCR6HFbqc9d66dHS+eVATd7jvqt +VNYVABEBAAGJATwEGAEIACYWIQSNSIoQI3HbAaANy81k1VoV2uAuwAUCWQNHCAIb +DAUJA8JnAAAKCRBk1VoV2uAuwP6+B/9r47oROSj8nItoI/VWgu+F4pH5Dl1MWid2 +LICUx8BQ6ZNxSRUxoGlOdbLAfyLqERvOqNpBHa54SgGTvkxADtYMNuB6NCciR7z/ +7s49io/jXthUahvorf6l7XI468v9J4b4xsYfKQiofonoY9fGmLism3RPqR8h+n4m +ywmOQMcweZgM4eXhi+SHJctg5mJdd5G/OdgOz+gIISFfrGrYmQCdlRpLP1im9a5c +n+szFhmrIXMGUT5auvbAGIQzuBI/F+fTmg1SN4+YTJLVEdHG5zYhUzqElYNkMwGJ +3aBhP3rFTdF/TXGI9aXs84nW3KYWQV18Av1rw0O+PKkX4fu4Yktc +=9Te5 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/libvirt.spec b/libvirt.spec index b2e14c3..0c05610 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -175,7 +175,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 3.2.0 +Version: 3.3.0 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1+ @@ -317,10 +317,10 @@ Source4: libvirtd-relocation-server.fw Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: ae102b5d7-qemu-fix-regression-when-hyperv-vendor_id-feature-is-used.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch +Patch102: libxl-def-usbctrl.patch # Need to go upstream Patch150: xen-pv-cdrom.patch Patch151: blockcopy-check-dst-identical-device.patch @@ -886,9 +886,9 @@ libvirt plugin for NSS for translating domain names into IP addresses. %prep %setup -q -%patch0 -p1 %patch100 -p1 %patch101 -p1 +%patch102 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 @@ -1466,6 +1466,7 @@ fi %doc %{_mandir}/man8/libvirtd.8* %doc %{_mandir}/man8/virtlogd.8* %doc %{_mandir}/man8/virtlockd.8* +%doc %{_mandir}/man7/virkey*.7* %if %{with_apparmor} %dir %{_sysconfdir}/apparmor.d %dir %{_sysconfdir}/apparmor.d/abstractions diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index d7133f2..4f4b87c 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/daemon/libvirtd.conf +Index: libvirt-3.3.0/daemon/libvirtd.conf =================================================================== ---- libvirt-3.2.0.orig/daemon/libvirtd.conf -+++ libvirt-3.2.0/daemon/libvirtd.conf +--- libvirt-3.3.0.orig/daemon/libvirtd.conf ++++ libvirt-3.3.0/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -13,10 +13,10 @@ Index: libvirt-3.2.0/daemon/libvirtd.conf # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the libvirtd process for this to -Index: libvirt-3.2.0/daemon/libvirtd-config.c +Index: libvirt-3.3.0/daemon/libvirtd-config.c =================================================================== ---- libvirt-3.2.0.orig/daemon/libvirtd-config.c -+++ libvirt-3.2.0/daemon/libvirtd-config.c +--- libvirt-3.3.0.orig/daemon/libvirtd-config.c ++++ libvirt-3.3.0/daemon/libvirtd-config.c @@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -26,10 +26,10 @@ Index: libvirt-3.2.0/daemon/libvirtd-config.c data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-3.2.0/daemon/test_libvirtd.aug.in +Index: libvirt-3.3.0/daemon/test_libvirtd.aug.in =================================================================== ---- libvirt-3.2.0.orig/daemon/test_libvirtd.aug.in -+++ libvirt-3.2.0/daemon/test_libvirtd.aug.in +--- libvirt-3.3.0.orig/daemon/test_libvirtd.aug.in ++++ libvirt-3.3.0/daemon/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: diff --git a/libvirtd-init-script.patch b/libvirtd-init-script.patch index c9c0b3c..e73a60a 100644 --- a/libvirtd-init-script.patch +++ b/libvirtd-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-3.2.0/daemon/libvirtd.sysconf +Index: libvirt-3.3.0/daemon/libvirtd.sysconf =================================================================== ---- libvirt-3.2.0.orig/daemon/libvirtd.sysconf -+++ libvirt-3.2.0/daemon/libvirtd.sysconf +--- libvirt-3.3.0.orig/daemon/libvirtd.sysconf ++++ libvirt-3.3.0/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/libxl-def-usbctrl.patch b/libxl-def-usbctrl.patch new file mode 100644 index 0000000..7cd43e6 --- /dev/null +++ b/libxl-def-usbctrl.patch @@ -0,0 +1,127 @@ +commit b020800a3930aa2bd40855548c442846716d88f1 +Author: Jim Fehlig +Date: Tue Mar 28 17:34:16 2017 -0600 + + libxl: add default controllers for USB devices + + Attempting to start a domain with USB hostdevs but no USB controllers + fails with the rather cryptic error + + libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an + error message from QMP server: Bus 'xenusb-0.0' not found + + This can be fixed by creating default USB controllers. When no USB + controllers are defined, create the number of 8 port controllers + necessary to accommodate the number of defined USB devices. + + Note that USB controllers are already created as needed in the + domainAttachDevice code path. E.g. a USB controller will be created, + if necessary, when attaching a USB device with + 'virsh attach-device dom usbdev.xml'. + +Index: libvirt-3.3.0/src/libxl/libxl_conf.c +=================================================================== +--- libvirt-3.3.0.orig/src/libxl/libxl_conf.c ++++ libvirt-3.3.0/src/libxl/libxl_conf.c +@@ -1822,34 +1822,92 @@ libxlMakeUSBController(virDomainControll + } + + static int ++libxlMakeDefaultUSBControllers(virDomainDefPtr def, ++ libxl_domain_config *d_config) ++{ ++ virDomainControllerDefPtr l_controller = NULL; ++ libxl_device_usbctrl *x_controllers = NULL; ++ size_t nusbdevs = 0; ++ size_t ncontrollers; ++ size_t i; ++ ++ for (i = 0; i < def->nhostdevs; i++) { ++ if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && ++ def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) ++ nusbdevs++; ++ } ++ ++ /* No controllers needed if there are no USB devs */ ++ if (nusbdevs == 0) ++ return 0; ++ ++ /* Create USB controllers with 8 ports */ ++ ncontrollers = VIR_DIV_UP(nusbdevs, 8); ++ if (VIR_ALLOC_N(x_controllers, ncontrollers) < 0) ++ return -1; ++ ++ for (i = 0; i < ncontrollers; i++) { ++ if (!(l_controller = virDomainControllerDefNew(VIR_DOMAIN_CONTROLLER_TYPE_USB))) ++ goto error; ++ ++ l_controller->model = VIR_DOMAIN_CONTROLLER_MODEL_USB_QUSB2; ++ l_controller->idx = i; ++ l_controller->opts.usbopts.ports = 8; ++ ++ libxl_device_usbctrl_init(&x_controllers[i]); ++ ++ if (libxlMakeUSBController(l_controller, &x_controllers[i]) < 0) ++ goto error; ++ ++ virDomainControllerInsertPreAlloced(def, l_controller); ++ l_controller = NULL; ++ } ++ ++ d_config->usbctrls = x_controllers; ++ d_config->num_usbctrls = ncontrollers; ++ return 0; ++ ++ error: ++ virDomainControllerDefFree(l_controller); ++ for (i = 0; i < ncontrollers; i++) ++ libxl_device_usbctrl_dispose(&x_controllers[i]); ++ VIR_FREE(x_controllers); ++ return -1; ++} ++ ++static int + libxlMakeUSBControllerList(virDomainDefPtr def, libxl_domain_config *d_config) + { + virDomainControllerDefPtr *l_controllers = def->controllers; + size_t ncontrollers = def->ncontrollers; + size_t nusbctrls = 0; + libxl_device_usbctrl *x_usbctrls; +- size_t i; ++ size_t i, j; + +- if (ncontrollers == 0) +- return 0; ++ for (i = 0; i < ncontrollers; i++) { ++ if (l_controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_USB) ++ nusbctrls++; ++ } ++ ++ if (nusbctrls == 0) ++ return libxlMakeDefaultUSBControllers(def, d_config); + +- if (VIR_ALLOC_N(x_usbctrls, ncontrollers) < 0) ++ if (VIR_ALLOC_N(x_usbctrls, nusbctrls) < 0) + return -1; + +- for (i = 0; i < ncontrollers; i++) { ++ for (i = 0, j = 0; i < ncontrollers && j < nusbctrls; i++) { + if (l_controllers[i]->type != VIR_DOMAIN_CONTROLLER_TYPE_USB) + continue; + +- libxl_device_usbctrl_init(&x_usbctrls[nusbctrls]); ++ libxl_device_usbctrl_init(&x_usbctrls[j]); + + if (libxlMakeUSBController(l_controllers[i], +- &x_usbctrls[nusbctrls]) < 0) ++ &x_usbctrls[j]) < 0) + goto error; + +- nusbctrls++; ++ j++; + } + +- VIR_SHRINK_N(x_usbctrls, ncontrollers, ncontrollers - nusbctrls); + d_config->usbctrls = x_usbctrls; + d_config->num_usbctrls = nusbctrls; + diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 4df93a0..222db0f 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600 option, but domainReset can be implemented in the libxl driver by forcibly destroying the domain and starting it again. -Index: libvirt-3.2.0/src/libxl/libxl_driver.c +Index: libvirt-3.3.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_driver.c -+++ libvirt-3.2.0/src/libxl/libxl_driver.c -@@ -1389,6 +1389,61 @@ libxlDomainReboot(virDomainPtr dom, unsi +--- libvirt-3.3.0.orig/src/libxl/libxl_driver.c ++++ libvirt-3.3.0/src/libxl/libxl_driver.c +@@ -1381,6 +1381,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } static int @@ -74,7 +74,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6497,6 +6552,7 @@ static virHypervisorDriver libxlHypervis +@@ -6487,6 +6542,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ diff --git a/libxl-qemu-emulator-caps.patch b/libxl-qemu-emulator-caps.patch index a829953..85d03f7 100644 --- a/libxl-qemu-emulator-caps.patch +++ b/libxl-qemu-emulator-caps.patch @@ -8,10 +8,10 @@ as the default , instead of the qemu-xen one. See FATE#320638 for details. -Index: libvirt-3.2.0/src/libxl/libxl_capabilities.c +Index: libvirt-3.3.0/src/libxl/libxl_capabilities.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_capabilities.c -+++ libvirt-3.2.0/src/libxl/libxl_capabilities.c +--- libvirt-3.3.0.orig/src/libxl/libxl_capabilities.c ++++ libvirt-3.3.0/src/libxl/libxl_capabilities.c @@ -38,6 +38,7 @@ #include "libxl_capabilities.h" #include "cpu/cpu_x86.h" diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index 26b5a58..56fcb46 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425 src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-3.2.0/src/libxl/libxl_conf.c +Index: libvirt-3.3.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_conf.c -+++ libvirt-3.2.0/src/libxl/libxl_conf.c -@@ -609,6 +609,30 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-3.3.0.orig/src/libxl/libxl_conf.c ++++ libvirt-3.3.0/src/libxl/libxl_conf.c +@@ -645,6 +645,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -38,7 +38,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_conf.c static char * libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *username, -@@ -856,6 +880,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -892,6 +916,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0; if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0) return -1; diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index 9d568db..f89a218 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig tools/virsh.pod | 8 ++++++++ 6 files changed, 125 insertions(+), 6 deletions(-) -Index: libvirt-3.2.0/include/libvirt/libvirt-domain.h +Index: libvirt-3.3.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-3.2.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-3.2.0/include/libvirt/libvirt-domain.h +--- libvirt-3.3.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-3.3.0/include/libvirt/libvirt-domain.h @@ -1008,6 +1008,31 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment" @@ -52,11 +52,11 @@ Index: libvirt-3.2.0/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-3.2.0/src/libxl/libxl_driver.c +Index: libvirt-3.3.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_driver.c -+++ libvirt-3.2.0/src/libxl/libxl_driver.c -@@ -6115,6 +6115,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-3.3.0.orig/src/libxl/libxl_driver.c ++++ libvirt-3.3.0/src/libxl/libxl_driver.c +@@ -6105,6 +6105,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6131,6 +6134,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6121,6 +6124,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6145,11 +6160,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6135,11 +6150,11 @@ libxlDomainMigratePerform3Params(virDoma if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) { if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml, @@ -99,10 +99,10 @@ Index: libvirt-3.2.0/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-3.2.0/src/libxl/libxl_migration.c +Index: libvirt-3.3.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_migration.c -+++ libvirt-3.2.0/src/libxl/libxl_migration.c +--- libvirt-3.3.0.orig/src/libxl/libxl_migration.c ++++ libvirt-3.3.0/src/libxl/libxl_migration.c @@ -359,18 +359,39 @@ libxlMigrateReceive(virNetSocketPtr sock static int libxlDoMigrateSend(libxlDriverPrivatePtr driver, @@ -263,10 +263,10 @@ Index: libvirt-3.2.0/src/libxl/libxl_migration.c virObjectLock(vm); cleanup: -Index: libvirt-3.2.0/src/libxl/libxl_migration.h +Index: libvirt-3.3.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_migration.h -+++ libvirt-3.2.0/src/libxl/libxl_migration.h +--- libvirt-3.3.0.orig/src/libxl/libxl_migration.h ++++ libvirt-3.3.0/src/libxl/libxl_migration.h @@ -39,6 +39,10 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -311,11 +311,11 @@ Index: libvirt-3.2.0/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationFinish(virConnectPtr dconn, -Index: libvirt-3.2.0/tools/virsh-domain.c +Index: libvirt-3.3.0/tools/virsh-domain.c =================================================================== ---- libvirt-3.2.0.orig/tools/virsh-domain.c -+++ libvirt-3.2.0/tools/virsh-domain.c -@@ -10284,6 +10284,22 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-3.3.0.orig/tools/virsh-domain.c ++++ libvirt-3.3.0/tools/virsh-domain.c +@@ -10205,6 +10205,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_BOOL, .help = N_("use TLS for migration") }, @@ -338,7 +338,7 @@ Index: libvirt-3.2.0/tools/virsh-domain.c {.name = NULL} }; -@@ -10307,6 +10323,7 @@ doMigrate(void *opaque) +@@ -10228,6 +10244,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -346,7 +346,7 @@ Index: libvirt-3.2.0/tools/virsh-domain.c sigemptyset(&sigmask); sigaddset(&sigmask, SIGINT); -@@ -10426,6 +10443,27 @@ doMigrate(void *opaque) +@@ -10347,6 +10364,27 @@ doMigrate(void *opaque) goto save_error; } @@ -374,10 +374,10 @@ Index: libvirt-3.2.0/tools/virsh-domain.c if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-3.2.0/tools/virsh.pod +Index: libvirt-3.3.0/tools/virsh.pod =================================================================== ---- libvirt-3.2.0.orig/tools/virsh.pod -+++ libvirt-3.2.0/tools/virsh.pod +--- libvirt-3.3.0.orig/tools/virsh.pod ++++ libvirt-3.3.0/tools/virsh.pod @@ -1752,6 +1752,14 @@ compression. I<--comp-mt-threads> and I< 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. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index fa1be6b..5551416 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -7,11 +7,11 @@ and npiv. For more details, see bsc#954872 and FATE#319810 -Index: libvirt-3.2.0/src/libxl/libxl_conf.c +Index: libvirt-3.3.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-3.2.0.orig/src/libxl/libxl_conf.c -+++ libvirt-3.2.0/src/libxl/libxl_conf.c -@@ -609,6 +609,25 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-3.3.0.orig/src/libxl/libxl_conf.c ++++ libvirt-3.3.0/src/libxl/libxl_conf.c +@@ -645,6 +645,25 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -37,7 +37,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_conf.c static void libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) { -@@ -753,6 +772,7 @@ libxlMakeNetworkDiskSrc(virStorageSource +@@ -789,6 +808,7 @@ libxlMakeNetworkDiskSrc(virStorageSource int libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) { @@ -45,7 +45,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_conf.c const char *driver = virDomainDiskGetDriver(l_disk); int format = virDomainDiskGetFormat(l_disk); int actual_type = virStorageSourceGetActualType(l_disk->src); -@@ -768,7 +788,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -804,7 +824,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0) return -1; } else { @@ -54,7 +54,7 @@ Index: libvirt-3.2.0/src/libxl/libxl_conf.c return -1; } -@@ -881,6 +901,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -917,6 +937,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0) return -1; libxlDiskSetCacheMode(x_disk, l_disk->cachemode); diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index d59eb0c..3ce24ee 100644 --- a/lxc-wait-after-eth-del.patch +++ b/lxc-wait-after-eth-del.patch @@ -13,10 +13,10 @@ device with the same name that is being created. src/lxc/lxc_process.c | 1 + 3 files changed, 4 insertions(+) -Index: libvirt-3.2.0/src/lxc/lxc_controller.c +Index: libvirt-3.3.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-3.2.0.orig/src/lxc/lxc_controller.c -+++ libvirt-3.2.0/src/lxc/lxc_controller.c +--- libvirt-3.3.0.orig/src/lxc/lxc_controller.c ++++ libvirt-3.3.0/src/lxc/lxc_controller.c @@ -73,6 +73,7 @@ #include "rpc/virnetdaemon.h" #include "virstring.h" @@ -33,10 +33,10 @@ Index: libvirt-3.2.0/src/lxc/lxc_controller.c return ret; } -Index: libvirt-3.2.0/src/lxc/lxc_driver.c +Index: libvirt-3.3.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/lxc/lxc_driver.c -+++ libvirt-3.2.0/src/lxc/lxc_driver.c +--- libvirt-3.3.0.orig/src/lxc/lxc_driver.c ++++ libvirt-3.3.0/src/lxc/lxc_driver.c @@ -76,6 +76,7 @@ #include "virtime.h" #include "virtypedparam.h" @@ -45,7 +45,7 @@ Index: libvirt-3.2.0/src/lxc/lxc_driver.c #include "virstring.h" #include "viraccessapicheck.h" #include "viraccessapichecklxc.h" -@@ -4035,6 +4036,7 @@ lxcDomainAttachDeviceNetLive(virConnectP +@@ -4025,6 +4026,7 @@ lxcDomainAttachDeviceNetLive(virConnectP case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_ETHERNET: ignore_value(virNetDevVethDelete(veth)); @@ -53,7 +53,7 @@ Index: libvirt-3.2.0/src/lxc/lxc_driver.c break; case VIR_DOMAIN_NET_TYPE_DIRECT: -@@ -4469,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb +@@ -4459,6 +4461,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb virDomainAuditNet(vm, detach, NULL, "detach", false); goto cleanup; } @@ -61,10 +61,10 @@ Index: libvirt-3.2.0/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-3.2.0/src/lxc/lxc_process.c +Index: libvirt-3.3.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-3.2.0.orig/src/lxc/lxc_process.c -+++ libvirt-3.2.0/src/lxc/lxc_process.c +--- libvirt-3.3.0.orig/src/lxc/lxc_process.c ++++ libvirt-3.3.0/src/lxc/lxc_process.c @@ -52,6 +52,7 @@ #include "viratomic.h" #include "virprocess.h" diff --git a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch index 13d987a..59915d3 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) -Index: libvirt-3.2.0/src/network/bridge_driver.c +Index: libvirt-3.3.0/src/network/bridge_driver.c =================================================================== ---- libvirt-3.2.0.orig/src/network/bridge_driver.c -+++ libvirt-3.2.0/src/network/bridge_driver.c -@@ -1413,7 +1413,14 @@ networkDnsmasqConfContents(virNetworkObj +--- libvirt-3.3.0.orig/src/network/bridge_driver.c ++++ libvirt-3.3.0/src/network/bridge_driver.c +@@ -1409,7 +1409,14 @@ networkDnsmasqConfContents(virNetworkObj if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (ipdef->nranges || ipdef->nhosts) { virBufferAddLit(&configbuf, "dhcp-no-override\n"); @@ -37,10 +37,10 @@ Index: libvirt-3.2.0/src/network/bridge_driver.c } if (ipdef->tftproot) { -Index: libvirt-3.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +Index: libvirt-3.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf =================================================================== ---- libvirt-3.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf -+++ libvirt-3.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +--- libvirt-3.3.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf ++++ libvirt-3.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf @@ -10,7 +10,6 @@ bind-dynamic interface=virbr1 dhcp-range=192.168.122.1,static diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index fdc3f03..a05ce11 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64 See bnc#894956 -Index: libvirt-3.2.0/src/util/virarch.c +Index: libvirt-3.3.0/src/util/virarch.c =================================================================== ---- libvirt-3.2.0.orig/src/util/virarch.c -+++ libvirt-3.2.0/src/util/virarch.c +--- libvirt-3.3.0.orig/src/util/virarch.c ++++ libvirt-3.3.0/src/util/virarch.c @@ -169,6 +169,8 @@ virArch virArchFromHost(void) arch = VIR_ARCH_I686; } else if (STREQ(ut.machine, "amd64")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index 5bf443e..3e90074 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/examples/apparmor/libvirt-qemu +Index: libvirt-3.3.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-3.2.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-3.2.0/examples/apparmor/libvirt-qemu +--- libvirt-3.3.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-3.3.0/examples/apparmor/libvirt-qemu @@ -154,3 +154,6 @@ /etc/udev/udev.conf r, /sys/bus/ r, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 032e2dc..40de22d 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-3.2.0/src/xenconfig/xen_common.c +Index: libvirt-3.3.0/src/xenconfig/xen_common.c =================================================================== ---- libvirt-3.2.0.orig/src/xenconfig/xen_common.c -+++ libvirt-3.2.0/src/xenconfig/xen_common.c +--- libvirt-3.3.0.orig/src/xenconfig/xen_common.c ++++ libvirt-3.3.0/src/xenconfig/xen_common.c @@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe { virConfValuePtr list = virConfGetValue(conf, "pci"); @@ -66,10 +66,10 @@ Index: libvirt-3.2.0/src/xenconfig/xen_common.c hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.bus = busID; -Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.3.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.3.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.3.0/src/xenconfig/xen_sxpr.c @@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; diff --git a/suse-libvirtd-service.patch b/suse-libvirtd-service.patch index b990861..21c87b7 100644 --- a/suse-libvirtd-service.patch +++ b/suse-libvirtd-service.patch @@ -5,10 +5,10 @@ tools. If a user installs libvirt on their SUSE Xen host, then libvirt should be king and override xendomains. bsc#1015348 -Index: libvirt-3.2.0/daemon/libvirtd.service.in +Index: libvirt-3.3.0/daemon/libvirtd.service.in =================================================================== ---- libvirt-3.2.0.orig/daemon/libvirtd.service.in -+++ libvirt-3.2.0/daemon/libvirtd.service.in +--- libvirt-3.3.0.orig/daemon/libvirtd.service.in ++++ libvirt-3.3.0/daemon/libvirtd.service.in @@ -15,6 +15,7 @@ After=apparmor.service After=local-fs.target After=remote-fs.target diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 2c266a2..30066df 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch, etc.), but for now they are all lumped together in this single patch. -Index: libvirt-3.2.0/src/qemu/qemu.conf +Index: libvirt-3.3.0/src/qemu/qemu.conf =================================================================== ---- libvirt-3.2.0.orig/src/qemu/qemu.conf -+++ libvirt-3.2.0/src/qemu/qemu.conf +--- libvirt-3.3.0.orig/src/qemu/qemu.conf ++++ libvirt-3.3.0/src/qemu/qemu.conf @@ -332,11 +332,20 @@ # isolation, but it cannot appear in a list of drivers. # diff --git a/systemd-service-xen.patch b/systemd-service-xen.patch index e36ff21..7529123 100644 --- a/systemd-service-xen.patch +++ b/systemd-service-xen.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/daemon/libvirtd.service.in +Index: libvirt-3.3.0/daemon/libvirtd.service.in =================================================================== ---- libvirt-3.2.0.orig/daemon/libvirtd.service.in -+++ libvirt-3.2.0/daemon/libvirtd.service.in +--- libvirt-3.3.0.orig/daemon/libvirtd.service.in ++++ libvirt-3.3.0/daemon/libvirtd.service.in @@ -14,6 +14,7 @@ After=iscsid.service After=apparmor.service After=local-fs.target diff --git a/virtlockd-init-script.patch b/virtlockd-init-script.patch index 026cef2..fd69e45 100644 --- a/virtlockd-init-script.patch +++ b/virtlockd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-3.2.0/src/locking/virtlockd.sysconf +Index: libvirt-3.3.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-3.2.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-3.2.0/src/locking/virtlockd.sysconf +--- libvirt-3.3.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-3.3.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ Index: libvirt-3.2.0/src/locking/virtlockd.sysconf # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-3.2.0/src/locking/virtlockd.init.in +Index: libvirt-3.3.0/src/locking/virtlockd.init.in =================================================================== ---- libvirt-3.2.0.orig/src/locking/virtlockd.init.in -+++ libvirt-3.2.0/src/locking/virtlockd.init.in +--- libvirt-3.3.0.orig/src/locking/virtlockd.init.in ++++ libvirt-3.3.0/src/locking/virtlockd.init.in @@ -4,59 +4,57 @@ # http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # diff --git a/virtlogd-init-script.patch b/virtlogd-init-script.patch index 3d1b29e..75e6a92 100644 --- a/virtlogd-init-script.patch +++ b/virtlogd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlogd init files to conform to SUSE standards -Index: libvirt-3.2.0/src/logging/virtlogd.init.in +Index: libvirt-3.3.0/src/logging/virtlogd.init.in =================================================================== ---- libvirt-3.2.0.orig/src/logging/virtlogd.init.in -+++ libvirt-3.2.0/src/logging/virtlogd.init.in +--- libvirt-3.3.0.orig/src/logging/virtlogd.init.in ++++ libvirt-3.3.0/src/logging/virtlogd.init.in @@ -4,59 +4,56 @@ # http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # @@ -126,10 +126,10 @@ Index: libvirt-3.2.0/src/logging/virtlogd.init.in esac -exit $RETVAL +rc_exit -Index: libvirt-3.2.0/src/logging/virtlogd.sysconf +Index: libvirt-3.3.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-3.2.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-3.2.0/src/logging/virtlogd.sysconf +--- libvirt-3.3.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-3.3.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 461a59b..ca51db0 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.3.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.3.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.3.0/src/xenconfig/xen_sxpr.c @@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un static int xenParseSxprDisks(virDomainDefPtr def, diff --git a/xen-sxpr-disk-type.patch b/xen-sxpr-disk-type.patch index 3d4a522..2c8cbbe 100644 --- a/xen-sxpr-disk-type.patch +++ b/xen-sxpr-disk-type.patch @@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c. https://bugzilla.suse.com/show_bug.cgi?id=938228 -Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.3.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.3.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.3.0/src/xenconfig/xen_sxpr.c @@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def, omnipotent, we can revisit this, perhaps stat()'ing the src file in question */