From 53398caf68216a705cdfe905ddfa3baefde1b7767cda81550702d0ab324e5a4c Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Tue, 2 Mar 2021 00:57:27 +0000 Subject: [PATCH] Accepting request 876095 from home:jfehlig:branches:Virtualization Update to libvirt 7.1.0 final + some bug fixes. OBS-URL: https://build.opensuse.org/request/show/876095 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=880 --- ...stats-functions-from-the-qemu-driver.patch | 52 +-- ...ibxl-add-support-for-BlockResize-API.patch | 10 +- ...c-implement-connectGetAllDomainStats.patch | 6 +- ...DomainVirtioOptionsCheckABIStability.patch | 122 ------- 32c5e432-revert-f035f53b.patch | 27 -- 7cf60006-qemu-swtpm-aarch64.patch | 120 ------- 87a9d3a6-libxl-fix-domain-shutdown.patch | 219 ------------ ...onf-move-virDomainCheckVirtioOptions.patch | 163 --------- afb823fc-qemu-validate-swtpm.patch | 30 -- bd112c9e-qemu-virtio-options-vsock.patch | 326 ------------------ ...-drop-empty-virDomainNetDefPostParse.patch | 49 --- e3d60f76-fix-socket-file-gen.patch | 34 -- fa58f571-libxl-lock-proc-indicator.patch | 109 ------ libvirt-7.0.0.tar.xz | 3 - libvirt-7.0.0.tar.xz.asc | 16 - libvirt-7.1.0.tar.xz | 3 + libvirt-7.1.0.tar.xz.asc | 16 + libvirt-power8-models.patch | 6 +- libvirt-suse-netcontrol.patch | 50 +-- libvirt.changes | 27 +- libvirt.spec | 28 +- libxl-default-pcistub-name.patch | 33 ++ libxl-dom-reset.patch | 8 +- libxl-set-cach-mode.patch | 8 +- libxl-set-migration-constraints.patch | 74 ++-- libxl-support-block-script.patch | 12 +- lxc-wait-after-eth-del.patch | 18 +- ...e-dhcp-authoritative-on-static-netwo.patch | 12 +- ppc64le-canonical-name.patch | 6 +- qemu-apparmor-screenshot.patch | 6 +- suse-apparmor-libnl-paths.patch | 12 +- suse-bump-xen-version.patch | 34 +- suse-libvirt-guests-service.patch | 12 +- suse-libvirtd-disable-tls.patch | 18 +- suse-libvirtd-sysconfig-settings.patch | 6 +- suse-libxl-disable-autoballoon.patch | 22 +- suse-ovmf-paths.patch | 26 +- suse-qemu-conf.patch | 18 +- suse-virtlockd-sysconfig-settings.patch | 6 +- suse-virtlogd-sysconfig-settings.patch | 6 +- suse-xen-ovmf-loaders.patch | 8 +- virt-create-rootfs.patch | 20 +- 42 files changed, 314 insertions(+), 1467 deletions(-) delete mode 100644 19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch delete mode 100644 32c5e432-revert-f035f53b.patch delete mode 100644 7cf60006-qemu-swtpm-aarch64.patch delete mode 100644 87a9d3a6-libxl-fix-domain-shutdown.patch delete mode 100644 8a4b8996-conf-move-virDomainCheckVirtioOptions.patch delete mode 100644 afb823fc-qemu-validate-swtpm.patch delete mode 100644 bd112c9e-qemu-virtio-options-vsock.patch delete mode 100644 c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch delete mode 100644 e3d60f76-fix-socket-file-gen.patch delete mode 100644 fa58f571-libxl-lock-proc-indicator.patch delete mode 100644 libvirt-7.0.0.tar.xz delete mode 100644 libvirt-7.0.0.tar.xz.asc create mode 100644 libvirt-7.1.0.tar.xz create mode 100644 libvirt-7.1.0.tar.xz.asc create mode 100644 libxl-default-pcistub-name.patch diff --git a/0001-Extract-stats-functions-from-the-qemu-driver.patch b/0001-Extract-stats-functions-from-the-qemu-driver.patch index b6c8a69..c7123d9 100644 --- a/0001-Extract-stats-functions-from-the-qemu-driver.patch +++ b/0001-Extract-stats-functions-from-the-qemu-driver.patch @@ -18,10 +18,10 @@ them. create mode 100644 src/conf/domain_stats.c create mode 100644 src/conf/domain_stats.h -Index: libvirt-7.0.0/src/conf/domain_stats.c +Index: libvirt-7.1.0/src/conf/domain_stats.c =================================================================== --- /dev/null -+++ libvirt-7.0.0/src/conf/domain_stats.c ++++ libvirt-7.1.0/src/conf/domain_stats.c @@ -0,0 +1,119 @@ +/* + * domain_stats.c: domain stats extraction helpers @@ -142,10 +142,10 @@ Index: libvirt-7.0.0/src/conf/domain_stats.c +} + +#undef STATS_ADD_NET_PARAM -Index: libvirt-7.0.0/src/conf/domain_stats.h +Index: libvirt-7.1.0/src/conf/domain_stats.h =================================================================== --- /dev/null -+++ libvirt-7.0.0/src/conf/domain_stats.h ++++ libvirt-7.1.0/src/conf/domain_stats.h @@ -0,0 +1,62 @@ +/* + * domain_stats.h: domain stats extraction helpers @@ -209,11 +209,11 @@ Index: libvirt-7.0.0/src/conf/domain_stats.h + virTypedParamListPtr params); + +#endif /* __DOMAIN_STATS_H */ -Index: libvirt-7.0.0/src/libvirt_private.syms +Index: libvirt-7.1.0/src/libvirt_private.syms =================================================================== ---- libvirt-7.0.0.orig/src/libvirt_private.syms -+++ libvirt-7.0.0/src/libvirt_private.syms -@@ -741,12 +741,16 @@ virDomainConfNWFilterTeardown; +--- libvirt-7.1.0.orig/src/libvirt_private.syms ++++ libvirt-7.1.0/src/libvirt_private.syms +@@ -745,12 +745,16 @@ virDomainConfNWFilterTeardown; virDomainConfVMNWFilterTeardown; @@ -231,7 +231,7 @@ Index: libvirt-7.0.0/src/libvirt_private.syms # conf/interface_conf.h virInterfaceDefFormat; virInterfaceDefFree; -@@ -1796,6 +1800,7 @@ virCgroupGetMemoryUsage; +@@ -1898,6 +1902,7 @@ virCgroupGetMemoryUsage; virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapUsage; virCgroupGetPercpuStats; @@ -239,10 +239,10 @@ Index: libvirt-7.0.0/src/libvirt_private.syms virCgroupHasController; virCgroupHasEmptyTasks; virCgroupKillPainfully; -Index: libvirt-7.0.0/src/qemu/qemu_driver.c +Index: libvirt-7.1.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_driver.c -+++ libvirt-7.0.0/src/qemu/qemu_driver.c +--- libvirt-7.1.0.orig/src/qemu/qemu_driver.c ++++ libvirt-7.1.0/src/qemu/qemu_driver.c @@ -67,6 +67,7 @@ #include "virarptable.h" #include "viruuid.h" @@ -251,7 +251,7 @@ Index: libvirt-7.0.0/src/qemu/qemu_driver.c #include "domain_audit.h" #include "domain_cgroup.h" #include "domain_driver.h" -@@ -17614,13 +17615,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr +@@ -17515,13 +17516,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr virTypedParamListPtr params, unsigned int privflags G_GNUC_UNUSED) { @@ -266,7 +266,7 @@ Index: libvirt-7.0.0/src/qemu/qemu_driver.c } -@@ -17914,25 +17909,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj +@@ -17815,25 +17810,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj virTypedParamListPtr params) { qemuDomainObjPrivatePtr priv = dom->privateData; @@ -293,7 +293,7 @@ Index: libvirt-7.0.0/src/qemu/qemu_driver.c } -@@ -18099,76 +18080,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr +@@ -18000,76 +17981,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr return ret; } @@ -371,11 +371,11 @@ Index: libvirt-7.0.0/src/qemu/qemu_driver.c /* refresh information by opening images on the disk */ static int -Index: libvirt-7.0.0/src/util/vircgroup.c +Index: libvirt-7.1.0/src/util/vircgroup.c =================================================================== ---- libvirt-7.0.0.orig/src/util/vircgroup.c -+++ libvirt-7.0.0/src/util/vircgroup.c -@@ -2799,6 +2799,31 @@ virCgroupControllerAvailable(int control +--- libvirt-7.1.0.orig/src/util/vircgroup.c ++++ libvirt-7.1.0/src/util/vircgroup.c +@@ -2981,6 +2981,31 @@ virCgroupControllerAvailable(int control return virCgroupHasController(cgroup, controller); } @@ -407,7 +407,7 @@ Index: libvirt-7.0.0/src/util/vircgroup.c #else /* !__linux__ */ bool -@@ -2808,6 +2833,14 @@ virCgroupAvailable(void) +@@ -2990,6 +3015,14 @@ virCgroupAvailable(void) } @@ -422,10 +422,10 @@ Index: libvirt-7.0.0/src/util/vircgroup.c int virCgroupNewPartition(const char *path G_GNUC_UNUSED, bool create G_GNUC_UNUSED, -Index: libvirt-7.0.0/src/util/vircgroup.h +Index: libvirt-7.1.0/src/util/vircgroup.h =================================================================== ---- libvirt-7.0.0.orig/src/util/vircgroup.h -+++ libvirt-7.0.0/src/util/vircgroup.h +--- libvirt-7.1.0.orig/src/util/vircgroup.h ++++ libvirt-7.1.0/src/util/vircgroup.h @@ -23,6 +23,7 @@ #include "virbitmap.h" @@ -441,10 +441,10 @@ Index: libvirt-7.0.0/src/util/vircgroup.h + +int virCgroupGetStatsCpu(virCgroupPtr cgroup, + virTypedParamListPtr params); -Index: libvirt-7.0.0/src/conf/meson.build +Index: libvirt-7.1.0/src/conf/meson.build =================================================================== ---- libvirt-7.0.0.orig/src/conf/meson.build -+++ libvirt-7.0.0/src/conf/meson.build +--- libvirt-7.1.0.orig/src/conf/meson.build ++++ libvirt-7.1.0/src/conf/meson.build @@ -15,6 +15,7 @@ domain_conf_sources = [ 'domain_conf.c', 'domain_nwfilter.c', diff --git a/0001-libxl-add-support-for-BlockResize-API.patch b/0001-libxl-add-support-for-BlockResize-API.patch index c4eaccc..517d0df 100644 --- a/0001-libxl-add-support-for-BlockResize-API.patch +++ b/0001-libxl-add-support-for-BlockResize-API.patch @@ -19,11 +19,11 @@ reworking this patch and submitting it to upstream libvirt. src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) -Index: libvirt-7.0.0/src/libxl/libxl_driver.c +Index: libvirt-7.1.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_driver.c -+++ libvirt-7.0.0/src/libxl/libxl_driver.c -@@ -5317,6 +5317,96 @@ libxlDomainMemoryStats(virDomainPtr dom, +--- libvirt-7.1.0.orig/src/libxl/libxl_driver.c ++++ libvirt-7.1.0/src/libxl/libxl_driver.c +@@ -5311,6 +5311,96 @@ libxlDomainMemoryStats(virDomainPtr dom, #undef LIBXL_SET_MEMSTAT @@ -120,7 +120,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_driver.c static int libxlDomainGetJobInfo(virDomainPtr dom, virDomainJobInfoPtr info) -@@ -6786,6 +6876,7 @@ static virHypervisorDriver libxlHypervis +@@ -6607,6 +6697,7 @@ static virHypervisorDriver libxlHypervis #endif .nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */ .nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */ diff --git a/0002-lxc-implement-connectGetAllDomainStats.patch b/0002-lxc-implement-connectGetAllDomainStats.patch index b830748..63dec03 100644 --- a/0002-lxc-implement-connectGetAllDomainStats.patch +++ b/0002-lxc-implement-connectGetAllDomainStats.patch @@ -9,10 +9,10 @@ them using the existing API. src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) -Index: libvirt-7.0.0/src/lxc/lxc_driver.c +Index: libvirt-7.1.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/lxc/lxc_driver.c -+++ libvirt-7.0.0/src/lxc/lxc_driver.c +--- libvirt-7.1.0.orig/src/lxc/lxc_driver.c ++++ libvirt-7.1.0/src/lxc/lxc_driver.c @@ -74,6 +74,8 @@ #include "netdev_bandwidth_conf.h" #include "virsocket.h" diff --git a/19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch b/19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch deleted file mode 100644 index b1fb742..0000000 --- a/19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch +++ /dev/null @@ -1,122 +0,0 @@ -commit 19d4e467707e187f6736f24a35f5a51275d869ce -Author: Michal Prívozník -Date: Thu Jan 28 14:13:32 2021 +0100 - - conf: Improve virDomainVirtioOptionsCheckABIStability() - - The virDomainVirtioOptionsCheckABIStability() function is called - from various ABI stability check functions. Every caller checks - if both old and new definitions have virtio options set and only - after that they call the function. This is suboptimal because: - - a) this check can be done in the function itself (making all - callers shorter), - b) is inherently wrong, because it doesn't catch case where one - definition has virtio options set and the other doesn't. - - Do proper checks at the beginning of the function and simplify - its calls. - - Signed-off-by: Michal Privoznik - Reviewed-by: Ján Tomko - -Index: libvirt-7.0.0/src/conf/domain_conf.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_conf.c -+++ libvirt-7.0.0/src/conf/domain_conf.c -@@ -21491,6 +21491,15 @@ static bool - virDomainVirtioOptionsCheckABIStability(virDomainVirtioOptionsPtr src, - virDomainVirtioOptionsPtr dst) - { -+ if (!src && !dst) -+ return true; -+ -+ if (!src || !dst) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("Target device virtio options don't match the source")); -+ return false; -+ } -+ - if (src->iommu != dst->iommu) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Target device iommu option '%s' does not " -@@ -21575,8 +21584,7 @@ virDomainDiskDefCheckABIStability(virDom - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -21635,8 +21643,7 @@ virDomainControllerDefCheckABIStability( - } - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -21669,8 +21676,7 @@ virDomainFsDefCheckABIStability(virDomai - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -21718,8 +21724,7 @@ virDomainNetDefCheckABIStability(virDoma - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -21757,8 +21762,7 @@ virDomainInputDefCheckABIStability(virDo - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -21857,8 +21861,7 @@ virDomainVideoDefCheckABIStability(virDo - } - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -22071,8 +22074,7 @@ virDomainMemballoonDefCheckABIStability( - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) -@@ -22094,8 +22096,7 @@ virDomainRNGDefCheckABIStability(virDoma - return false; - } - -- if (src->virtio && dst->virtio && -- !virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) - return false; - - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) diff --git a/32c5e432-revert-f035f53b.patch b/32c5e432-revert-f035f53b.patch deleted file mode 100644 index bb7ca85..0000000 --- a/32c5e432-revert-f035f53b.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 32c5e432044689b6679cdedeb1026f27653449d8 -Author: Jim Fehlig -Date: Thu Jan 28 12:09:18 2021 -0700 - - Revert "remote: Add libvirtd dependency to virt-guest-shutdown.target" - - Further testing revealed commit f035f53baa regresses Debian bug 955216 - - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955216 - - Restarting libvirt-guests on libvirtd restart is worse than the original - dependency issue, so revert the commit until a better solution is found. - - This reverts commit f035f53baa2e5dc00b8e866e594672a90b4cea78. - - Signed-off-by: Jim Fehlig - Reviewed-by: Daniel P. Berrangé - -Index: libvirt-7.0.0/src/remote/virt-guest-shutdown.target -=================================================================== ---- libvirt-7.0.0.orig/src/remote/virt-guest-shutdown.target -+++ libvirt-7.0.0/src/remote/virt-guest-shutdown.target -@@ -1,4 +1,3 @@ - [Unit] - Description=Libvirt guests shutdown --Requires=libvirtd.service - Documentation=https://libvirt.org diff --git a/7cf60006-qemu-swtpm-aarch64.patch b/7cf60006-qemu-swtpm-aarch64.patch deleted file mode 100644 index 933fb3a..0000000 --- a/7cf60006-qemu-swtpm-aarch64.patch +++ /dev/null @@ -1,120 +0,0 @@ -commit 7cf60006ce1e9898b960d7810f146ac6c89f6bb0 -Author: Jim Fehlig -Date: Tue Feb 9 14:57:22 2021 -0700 - - qemu: Fix swtpm device with aarch64 - - Starting a VM with swtpm device fails with qemu-system-aarch64. - E.g. with TPM device config - - - - - - QEMU reports the following error - - error: internal error: process exited while connecting to monitor: - 2021-02-07T05:15:35.378927Z qemu-system-aarch64: -device - tpm-tis,tpmdev=tpm-tpm0,id=tpm0: 'tpm-tis' is not a valid device model name - - Indeed the TPM device name is 'tpm-tis-device' [1][2] for aarch64, - versus the shorter 'tpm-tis' for x86. The devices are the same from - a functional POV, i.e. they both emulate a TPM device conforming to - the TIS specification. Account for the unfortunate name difference - when building the TPM device option in qemuBuildTPMDevStr(). Also - include a test case for 'tpm-tis-device'. - - [1] https://qemu.readthedocs.io/en/latest/specs/tpm.html - [2] https://github.com/qemu/qemu/commit/c294ac327ca99342b90bd3a83d2cef9b447afaa7 - - Signed-off-by: Jim Fehlig - Reviewed-by: Andrea Bolognani - -Index: libvirt-7.0.0/src/qemu/qemu_command.c -=================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_command.c -+++ libvirt-7.0.0/src/qemu/qemu_command.c -@@ -9163,6 +9163,9 @@ qemuBuildTPMDevStr(const virDomainDef *d - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - const char *model = virDomainTPMModelTypeToString(tpm->model); - -+ if (tpm->model == VIR_DOMAIN_TPM_MODEL_TIS && def->os.arch == VIR_ARCH_AARCH64) -+ model = "tpm-tis-device"; -+ - virBufferAsprintf(&buf, "%s,tpmdev=tpm-%s,id=%s", - model, tpm->info.alias, tpm->info.alias); - -Index: libvirt-7.0.0/tests/qemuxml2argvdata/aarch64-tpm.aarch64-latest.args -=================================================================== ---- /dev/null -+++ libvirt-7.0.0/tests/qemuxml2argvdata/aarch64-tpm.aarch64-latest.args -@@ -0,0 +1,37 @@ -+LC_ALL=C \ -+PATH=/bin \ -+HOME=/tmp/lib/domain--1-aarch64test \ -+USER=test \ -+LOGNAME=test \ -+XDG_DATA_HOME=/tmp/lib/domain--1-aarch64test/.local/share \ -+XDG_CACHE_HOME=/tmp/lib/domain--1-aarch64test/.cache \ -+XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \ -+QEMU_AUDIO_DRV=none \ -+/usr/bin/qemu-system-aarch64 \ -+-name guest=aarch64test,debug-threads=on \ -+-S \ -+-object secret,id=masterKey0,format=raw,\ -+file=/tmp/lib/domain--1-aarch64test/master-key.aes \ -+-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\ -+memory-backend=mach-virt.ram \ -+-cpu cortex-a15 \ -+-m 1024 \ -+-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \ -+-overcommit mem-lock=off \ -+-smp 1,sockets=1,cores=1,threads=1 \ -+-uuid 496d7ea8-9739-544b-4ebd-ef08be936e8b \ -+-display none \ -+-no-user-config \ -+-nodefaults \ -+-chardev socket,id=charmonitor,fd=1729,server,nowait \ -+-mon chardev=charmonitor,id=monitor,mode=control \ -+-rtc base=utc \ -+-no-shutdown \ -+-no-acpi \ -+-boot strict=on \ -+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \ -+-chardev socket,id=chrtpm,path=/dev/test \ -+-device tpm-tis-device,tpmdev=tpm-tpm0,id=tpm0 \ -+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ -+resourcecontrol=deny \ -+-msg timestamp=on -Index: libvirt-7.0.0/tests/qemuxml2argvdata/aarch64-tpm.xml -=================================================================== ---- /dev/null -+++ libvirt-7.0.0/tests/qemuxml2argvdata/aarch64-tpm.xml -@@ -0,0 +1,15 @@ -+ -+ aarch64test -+ 496d7ea8-9739-544b-4ebd-ef08be936e8b -+ 1048576 -+ 1 -+ -+ hvm -+ -+ -+ /usr/bin/qemu-system-aarch64 -+ -+ -+ -+ -+ -Index: libvirt-7.0.0/tests/qemuxml2argvtest.c -=================================================================== ---- libvirt-7.0.0.orig/tests/qemuxml2argvtest.c -+++ libvirt-7.0.0/tests/qemuxml2argvtest.c -@@ -2476,6 +2476,7 @@ mymain(void) - DO_TEST_CAPS_LATEST("tpm-emulator-tpm2-enc"); - DO_TEST_CAPS_LATEST("tpm-emulator-tpm2-pstate"); - DO_TEST_CAPS_LATEST_PPC64("tpm-emulator-spapr"); -+ DO_TEST_CAPS_ARCH_LATEST("aarch64-tpm", "aarch64"); - - DO_TEST_PARSE_ERROR("pci-domain-invalid", NONE); - DO_TEST_PARSE_ERROR("pci-bus-invalid", NONE); diff --git a/87a9d3a6-libxl-fix-domain-shutdown.patch b/87a9d3a6-libxl-fix-domain-shutdown.patch deleted file mode 100644 index afc517d..0000000 --- a/87a9d3a6-libxl-fix-domain-shutdown.patch +++ /dev/null @@ -1,219 +0,0 @@ -commit 87a9d3a6b01baebdca33d95ad0e79781b6a46ca8 -Author: Jim Fehlig -Date: Fri Feb 19 16:29:10 2021 -0700 - - libxl: Fix domain shutdown - - Commit fa30ee04a2 caused a regression in normal domain shutown. - Initiating a shutdown from within the domain or via 'virsh shutdown' - does cause the guest OS running in the domain to shutdown, but libvirt - never reaps the domain so it is always shown in a running state until - calling 'virsh destroy'. - - The shutdown thread is also an internal user of the driver shutdown - machinery and eventually calls libxlDomainDestroyInternal where - the ignoreDeathEvent inhibitor is set, but running in a thread - introduces the possibility of racing with the death event from - libxl. This can be prevented by setting ignoreDeathEvent before - running the shutdown thread. - - An additional improvement is to handle the destroy event synchronously - instead of spawning a thread. The time consuming aspects of destroying - a domain have been completed when the destroy event is delivered. - - Signed-off-by: Jim Fehlig - Reviewed-by: Michal Privoznik - -Index: libvirt-7.0.0/src/libxl/libxl_domain.c -=================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_domain.c -+++ libvirt-7.0.0/src/libxl/libxl_domain.c -@@ -476,6 +476,7 @@ libxlDomainShutdownHandleRestart(libxlDr - struct libxlShutdownThreadInfo - { - libxlDriverPrivatePtr driver; -+ virDomainObjPtr vm; - libxl_event *event; - }; - -@@ -484,7 +485,7 @@ static void - libxlDomainShutdownThread(void *opaque) - { - struct libxlShutdownThreadInfo *shutdown_info = opaque; -- virDomainObjPtr vm = NULL; -+ virDomainObjPtr vm = shutdown_info->vm; - libxl_event *ev = shutdown_info->event; - libxlDriverPrivatePtr driver = shutdown_info->driver; - virObjectEventPtr dom_event = NULL; -@@ -494,12 +495,6 @@ libxlDomainShutdownThread(void *opaque) - - libxl_domain_config_init(&d_config); - -- vm = virDomainObjListFindByID(driver->domains, ev->domid); -- if (!vm) { -- VIR_INFO("Received event for unknown domain ID %d", ev->domid); -- goto cleanup; -- } -- - if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) - goto cleanup; - -@@ -616,32 +611,18 @@ libxlDomainShutdownThread(void *opaque) - } - - static void --libxlDomainDeathThread(void *opaque) -+libxlDomainHandleDeath(libxlDriverPrivatePtr driver, virDomainObjPtr vm) - { -- struct libxlShutdownThreadInfo *shutdown_info = opaque; -- virDomainObjPtr vm = NULL; -- libxl_event *ev = shutdown_info->event; -- libxlDriverPrivatePtr driver = shutdown_info->driver; - virObjectEventPtr dom_event = NULL; -- g_autoptr(libxlDriverConfig) cfg = libxlDriverConfigGet(driver); -- libxlDomainObjPrivatePtr priv; -- -- vm = virDomainObjListFindByID(driver->domains, ev->domid); -- if (!vm) { -- /* vm->def->id already cleared, means the death was handled by the -- * driver already */ -- goto cleanup; -- } -- -- priv = vm->privateData; -+ libxlDomainObjPrivatePtr priv = vm->privateData; - - if (priv->ignoreDeathEvent) { - priv->ignoreDeathEvent = false; -- goto cleanup; -+ return; - } - - if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) -- goto cleanup; -+ return; - - virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_DESTROYED); - dom_event = virDomainEventLifecycleNewFromObj(vm, -@@ -651,12 +632,7 @@ libxlDomainDeathThread(void *opaque) - if (!vm->persistent) - virDomainObjListRemove(driver->domains, vm); - libxlDomainObjEndJob(driver, vm); -- -- cleanup: -- virDomainObjEndAPI(&vm); - virObjectEventStateQueue(driver->domainEventState, dom_event); -- libxl_event_free(cfg->ctx, ev); -- VIR_FREE(shutdown_info); - } - - -@@ -668,16 +644,13 @@ libxlDomainEventHandler(void *data, VIR_ - { - libxlDriverPrivatePtr driver = data; - libxl_shutdown_reason xl_reason = event->u.domain_shutdown.shutdown_reason; -- struct libxlShutdownThreadInfo *shutdown_info = NULL; -- virThread thread; -+ virDomainObjPtr vm = NULL; - g_autoptr(libxlDriverConfig) cfg = NULL; -- int ret = -1; -- g_autofree char *name = NULL; - - if (event->type != LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN && - event->type != LIBXL_EVENT_TYPE_DOMAIN_DEATH) { - VIR_INFO("Unhandled event type %d", event->type); -- goto error; -+ goto cleanup; - } - - /* -@@ -685,42 +658,63 @@ libxlDomainEventHandler(void *data, VIR_ - * after calling libxl_domain_suspend() are handled by its callers. - */ - if (xl_reason == LIBXL_SHUTDOWN_REASON_SUSPEND) -- goto error; -+ goto cleanup; - -- /* -- * Start a thread to handle shutdown. We don't want to be tying up -- * libxl's event machinery by doing a potentially lengthy shutdown. -- */ -- shutdown_info = g_new0(struct libxlShutdownThreadInfo, 1); -+ vm = virDomainObjListFindByID(driver->domains, event->domid); -+ if (!vm) { -+ /* Nothing to do if we can't find the virDomainObj */ -+ goto cleanup; -+ } - -- shutdown_info->driver = driver; -- shutdown_info->event = (libxl_event *)event; -- name = g_strdup_printf("ev-%d", event->domid); -- if (event->type == LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN) -- ret = virThreadCreateFull(&thread, false, libxlDomainShutdownThread, -- name, false, shutdown_info); -- else if (event->type == LIBXL_EVENT_TYPE_DOMAIN_DEATH) -- ret = virThreadCreateFull(&thread, false, libxlDomainDeathThread, -- name, false, shutdown_info); -+ if (event->type == LIBXL_EVENT_TYPE_DOMAIN_SHUTDOWN) { -+ libxlDomainObjPrivatePtr priv = vm->privateData; -+ struct libxlShutdownThreadInfo *shutdown_info = NULL; -+ virThread thread; -+ g_autofree char *name = NULL; - -- if (ret < 0) { - /* -- * Not much we can do on error here except log it. -+ * Start a thread to handle shutdown. We don't want to be tying up -+ * libxl's event machinery by doing a potentially lengthy shutdown. - */ -- VIR_ERROR(_("Failed to create thread to handle domain shutdown")); -- goto error; -- } -+ shutdown_info = g_new0(struct libxlShutdownThreadInfo, 1); - -- /* -- * libxlShutdownThreadInfo and libxl_event are freed in shutdown thread -- */ -- return; -+ shutdown_info->driver = driver; -+ shutdown_info->vm = vm; -+ shutdown_info->event = (libxl_event *)event; -+ name = g_strdup_printf("ev-%d", event->domid); -+ /* -+ * Cleanup will be handled by the shutdown thread. -+ * Ignore the forthcoming death event from libxl -+ */ -+ priv->ignoreDeathEvent = true; -+ if (virThreadCreateFull(&thread, false, libxlDomainShutdownThread, -+ name, false, shutdown_info) < 0) { -+ priv->ignoreDeathEvent = false; -+ /* -+ * Not much we can do on error here except log it. -+ */ -+ VIR_ERROR(_("Failed to create thread to handle domain shutdown")); -+ VIR_FREE(shutdown_info); -+ goto cleanup; -+ } -+ /* -+ * virDomainObjEndAPI is called in the shutdown thread, where -+ * libxlShutdownThreadInfo and libxl_event are also freed. -+ */ -+ return; -+ } else if (event->type == LIBXL_EVENT_TYPE_DOMAIN_DEATH) { -+ /* -+ * On death the domain is cleaned up from Xen's perspective. -+ * Cleanup on the libvirt side can be done synchronously. -+ */ -+ libxlDomainHandleDeath(driver, vm); -+ } - -- error: -+ cleanup: -+ virDomainObjEndAPI(&vm); - cfg = libxlDriverConfigGet(driver); - /* Cast away any const */ - libxl_event_free(cfg->ctx, (libxl_event *)event); -- VIR_FREE(shutdown_info); - } - - char * diff --git a/8a4b8996-conf-move-virDomainCheckVirtioOptions.patch b/8a4b8996-conf-move-virDomainCheckVirtioOptions.patch deleted file mode 100644 index 6dcda2d..0000000 --- a/8a4b8996-conf-move-virDomainCheckVirtioOptions.patch +++ /dev/null @@ -1,163 +0,0 @@ -commit 8a4b8996f78f86bf10fea3e91d54e82db168547b -Author: Michal Prívozník -Date: Thu Jan 28 14:06:55 2021 +0100 - - conf: Move virDomainCheckVirtioOptions() into domain_validate.c - - The aim of virDomainCheckVirtioOptions() function is to check - whether no virtio options are set, i.e. no @iommu no @ats and no - @packed attributes were present in given device's XML (yeah, the - function has very misleading name). Nevertheless, this kind of - check belongs to validation phase, but now is done in post parse - phase. Move the function and its calls to domain_validate.c so - that future code is not tempted to repeat this mistake. - - Signed-off-by: Michal Privoznik - Reviewed-by: Ján Tomko - -Index: libvirt-7.0.0/src/conf/domain_conf.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_conf.c -+++ libvirt-7.0.0/src/conf/domain_conf.c -@@ -5130,34 +5130,6 @@ virDomainHostdevDefPostParse(virDomainHo - } - - --static int --virDomainCheckVirtioOptions(virDomainVirtioOptionsPtr virtio) --{ -- if (!virtio) -- return 0; -- -- if (virtio->iommu != VIR_TRISTATE_SWITCH_ABSENT) { -- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -- _("iommu driver option is only supported " -- "for virtio devices")); -- return -1; -- } -- if (virtio->ats != VIR_TRISTATE_SWITCH_ABSENT) { -- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -- _("ats driver option is only supported " -- "for virtio devices")); -- return -1; -- } -- if (virtio->packed != VIR_TRISTATE_SWITCH_ABSENT) { -- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -- _("packed driver option is only supported " -- "for virtio devices")); -- return -1; -- } -- return 0; --} -- -- - static void - virDomainChrDefPostParse(virDomainChrDefPtr chr, - const virDomainDef *def) -@@ -5254,11 +5226,6 @@ virDomainDiskDefPostParse(virDomainDiskD - virDomainPostParseCheckISCSIPath(&disk->src->path); - } - -- if (disk->bus != VIR_DOMAIN_DISK_BUS_VIRTIO && -- virDomainCheckVirtioOptions(disk->virtio) < 0) { -- return -1; -- } -- - if (disk->src->type == VIR_STORAGE_TYPE_NVME) { - if (disk->src->nvme->managed == VIR_TRISTATE_BOOL_ABSENT) - disk->src->nvme->managed = VIR_TRISTATE_BOOL_YES; -@@ -5308,13 +5275,8 @@ virDomainControllerDefPostParse(virDomai - - - static int --virDomainNetDefPostParse(virDomainNetDefPtr net) -+virDomainNetDefPostParse(virDomainNetDefPtr net G_GNUC_UNUSED) - { -- if (!virDomainNetIsVirtioModel(net) && -- virDomainCheckVirtioOptions(net->virtio) < 0) { -- return -1; -- } -- - return 0; - } - -Index: libvirt-7.0.0/src/conf/domain_validate.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_validate.c -+++ libvirt-7.0.0/src/conf/domain_validate.c -@@ -226,6 +226,34 @@ virSecurityDeviceLabelDefValidate(virSec - } - - -+static int -+virDomainCheckVirtioOptions(virDomainVirtioOptionsPtr virtio) -+{ -+ if (!virtio) -+ return 0; -+ -+ if (virtio->iommu != VIR_TRISTATE_SWITCH_ABSENT) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("iommu driver option is only supported " -+ "for virtio devices")); -+ return -1; -+ } -+ if (virtio->ats != VIR_TRISTATE_SWITCH_ABSENT) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("ats driver option is only supported " -+ "for virtio devices")); -+ return -1; -+ } -+ if (virtio->packed != VIR_TRISTATE_SWITCH_ABSENT) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("packed driver option is only supported " -+ "for virtio devices")); -+ return -1; -+ } -+ return 0; -+} -+ -+ - #define VENDOR_LEN 8 - #define PRODUCT_LEN 16 - -@@ -277,15 +305,19 @@ virDomainDiskDefValidate(const virDomain - return -1; - } - -- if (disk->bus != VIR_DOMAIN_DISK_BUS_VIRTIO && -- (disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO || -- disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO_TRANSITIONAL || -- disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO_NON_TRANSITIONAL)) { -- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -- _("disk model '%s' not supported for bus '%s'"), -- virDomainDiskModelTypeToString(disk->model), -- virDomainDiskBusTypeToString(disk->bus)); -- return -1; -+ if (disk->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) { -+ if (disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO || -+ disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO_TRANSITIONAL || -+ disk->model == VIR_DOMAIN_DISK_MODEL_VIRTIO_NON_TRANSITIONAL) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("disk model '%s' not supported for bus '%s'"), -+ virDomainDiskModelTypeToString(disk->model), -+ virDomainDiskBusTypeToString(disk->bus)); -+ return -1; -+ } -+ -+ if (virDomainCheckVirtioOptions(disk->virtio) < 0) -+ return -1; - } - - if (disk->src->type == VIR_STORAGE_TYPE_NVME) { -@@ -1330,6 +1362,11 @@ virDomainNetDefValidate(const virDomainN - return -1; - } - -+ if (!virDomainNetIsVirtioModel(net) && -+ virDomainCheckVirtioOptions(net->virtio) < 0) { -+ return -1; -+ } -+ - return 0; - } - diff --git a/afb823fc-qemu-validate-swtpm.patch b/afb823fc-qemu-validate-swtpm.patch deleted file mode 100644 index 9e66532..0000000 --- a/afb823fc-qemu-validate-swtpm.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit afb823fc501cf5b17d2d2b555487abf67c225a7c -Author: Jim Fehlig -Date: Tue Feb 9 15:47:30 2021 -0700 - - qemu: Validate TPM TIS device - - TPM devices with model='tpm-tis' are only valid with x86 and aarch64 - virt machines. Add a check to qemuValidateDomainDeviceDefTPM() to - ensure VIR_DOMAIN_TPM_MODEL_TIS is only used with these architectures. - - Signed-off-by: Jim Fehlig - Reviewed-by: Andrea Bolognani - -Index: libvirt-7.0.0/src/qemu/qemu_validate.c -=================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_validate.c -+++ libvirt-7.0.0/src/qemu/qemu_validate.c -@@ -4251,6 +4251,12 @@ qemuValidateDomainDeviceDefTPM(virDomain - - switch (tpm->model) { - case VIR_DOMAIN_TPM_MODEL_TIS: -+ if (!ARCH_IS_X86(def->os.arch) && (def->os.arch != VIR_ARCH_AARCH64)) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("TPM model '%s' is only available for x86 and aarch64 guests"), -+ virDomainTPMModelTypeToString(tpm->model)); -+ return -1; -+ } - flag = QEMU_CAPS_DEVICE_TPM_TIS; - break; - case VIR_DOMAIN_TPM_MODEL_CRB: diff --git a/bd112c9e-qemu-virtio-options-vsock.patch b/bd112c9e-qemu-virtio-options-vsock.patch deleted file mode 100644 index cc3138c..0000000 --- a/bd112c9e-qemu-virtio-options-vsock.patch +++ /dev/null @@ -1,326 +0,0 @@ -commit bd112c9e0f7523b90bf1362cf60deea7db05a32b -Author: Boris Fiuczynski -Date: Wed Jan 27 19:46:59 2021 +0100 - - qemu: Add virtio related options to vsock - - Add virtio related options iommu, ats and packed as driver element attributes - to vsock devices. Ex: - - - - - - - Signed-off-by: Boris Fiuczynski - Signed-off-by: Michal Privoznik - Reviewed-by: Michal Privoznik - -Index: libvirt-7.0.0/docs/formatdomain.rst -=================================================================== ---- libvirt-7.0.0.orig/docs/formatdomain.rst -+++ libvirt-7.0.0/docs/formatdomain.rst -@@ -7414,6 +7414,8 @@ devices <#elementsVirtioTransitional>`__ - attribute ``address`` of the ``cid`` element specifies the CID assigned to the - guest. If the attribute ``auto`` is set to ``yes``, libvirt will assign a free - CID automatically on domain startup. :since:`Since 4.4.0` -+The optional ``driver`` element allows to specify virtio options, see -+`Virtio-specific options <#elementsVirtio>`__ for more details. :since:`Since 7.1.0` - - :: - -Index: libvirt-7.0.0/docs/schemas/domaincommon.rng -=================================================================== ---- libvirt-7.0.0.orig/docs/schemas/domaincommon.rng -+++ libvirt-7.0.0/docs/schemas/domaincommon.rng -@@ -4883,6 +4883,11 @@ - - - -+ -+ -+ -+ -+ - - - -Index: libvirt-7.0.0/src/conf/domain_conf.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_conf.c -+++ libvirt-7.0.0/src/conf/domain_conf.c -@@ -2456,6 +2456,7 @@ virDomainVsockDefFree(virDomainVsockDefP - - virObjectUnref(vsock->privateData); - virDomainDeviceInfoClear(&vsock->info); -+ VIR_FREE(vsock->virtio); - VIR_FREE(vsock); - } - -@@ -15624,6 +15625,11 @@ virDomainVsockDefParseXML(virDomainXMLOp - if (virDomainDeviceInfoParseXML(xmlopt, node, &vsock->info, flags) < 0) - return NULL; - -+ if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt), -+ &vsock->virtio) < 0) -+ return NULL; -+ -+ - return g_steal_pointer(&vsock); - } - -@@ -22806,6 +22812,9 @@ virDomainVsockDefCheckABIStability(virDo - return false; - } - -+ if (!virDomainVirtioOptionsCheckABIStability(src->virtio, dst->virtio)) -+ return false; -+ - if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) - return false; - -@@ -27994,6 +28003,7 @@ virDomainVsockDefFormat(virBufferPtr buf - g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf); - g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; - g_auto(virBuffer) cidAttrBuf = VIR_BUFFER_INITIALIZER; -+ g_auto(virBuffer) drvAttrBuf = VIR_BUFFER_INITIALIZER; - - if (vsock->model) { - virBufferAsprintf(&attrBuf, " model='%s'", -@@ -28010,6 +28020,9 @@ virDomainVsockDefFormat(virBufferPtr buf - - virDomainDeviceInfoFormat(&childBuf, &vsock->info, 0); - -+ virDomainVirtioOptionsFormat(&drvAttrBuf, vsock->virtio); -+ -+ virXMLFormatElement(&childBuf, "driver", &drvAttrBuf, NULL); - virXMLFormatElement(buf, "vsock", &attrBuf, &childBuf); - } - -Index: libvirt-7.0.0/src/conf/domain_conf.h -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_conf.h -+++ libvirt-7.0.0/src/conf/domain_conf.h -@@ -2542,6 +2542,7 @@ struct _virDomainVsockDef { - virTristateBool auto_cid; - - virDomainDeviceInfo info; -+ virDomainVirtioOptionsPtr virtio; - }; - - struct _virDomainVirtioOptions { -Index: libvirt-7.0.0/src/conf/domain_validate.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_validate.c -+++ libvirt-7.0.0/src/conf/domain_validate.c -@@ -1450,6 +1450,15 @@ virDomainMemoryDefValidate(const virDoma - } - - -+static bool -+virDomainVsockIsVirtioModel(const virDomainVsockDef *vsock) -+{ -+ return (vsock->model == VIR_DOMAIN_VSOCK_MODEL_VIRTIO || -+ vsock->model == VIR_DOMAIN_VSOCK_MODEL_VIRTIO_TRANSITIONAL || -+ vsock->model == VIR_DOMAIN_VSOCK_MODEL_VIRTIO_NON_TRANSITIONAL); -+} -+ -+ - static int - virDomainVsockDefValidate(const virDomainVsockDef *vsock) - { -@@ -1459,6 +1468,10 @@ virDomainVsockDefValidate(const virDomai - return -1; - } - -+ if (!virDomainVsockIsVirtioModel(vsock) && -+ virDomainCheckVirtioOptions(vsock->virtio) < 0) -+ return -1; -+ - return 0; - } - -Index: libvirt-7.0.0/src/qemu/qemu_command.c -=================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_command.c -+++ libvirt-7.0.0/src/qemu/qemu_command.c -@@ -9731,6 +9731,9 @@ qemuBuildVsockDevStr(virDomainDefPtr def - virBufferAsprintf(&buf, ",id=%s", vsock->info.alias); - virBufferAsprintf(&buf, ",guest-cid=%u", vsock->guest_cid); - virBufferAsprintf(&buf, ",vhostfd=%s%u", fdprefix, priv->vhostfd); -+ -+ qemuBuildVirtioOptionsStr(&buf, vsock->virtio); -+ - if (qemuBuildDeviceAddressStr(&buf, def, &vsock->info, qemuCaps) < 0) - return NULL; - -Index: libvirt-7.0.0/src/qemu/qemu_validate.c -=================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_validate.c -+++ libvirt-7.0.0/src/qemu/qemu_validate.c -@@ -4200,6 +4200,9 @@ qemuValidateDomainDeviceDefVsock(const v - "vsock")) - return -1; - -+ if (qemuValidateDomainVirtioOptions(vsock->virtio, qemuCaps) < 0) -+ return -1; -+ - return 0; - } - -Index: libvirt-7.0.0/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args -=================================================================== ---- /dev/null -+++ libvirt-7.0.0/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args -@@ -0,0 +1,42 @@ -+LC_ALL=C \ -+PATH=/bin \ -+HOME=/tmp/lib/domain--1-QEMUGuest1 \ -+USER=test \ -+LOGNAME=test \ -+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ -+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ -+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -+QEMU_AUDIO_DRV=none \ -+/usr/bin/qemu-system-s390x \ -+-name guest=QEMUGuest1,debug-threads=on \ -+-S \ -+-object secret,id=masterKey0,format=raw,\ -+file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -+-machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\ -+memory-backend=s390.ram \ -+-cpu qemu \ -+-m 214 \ -+-object memory-backend-ram,id=s390.ram,size=224395264 \ -+-overcommit mem-lock=off \ -+-smp 1,sockets=1,cores=1,threads=1 \ -+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ -+-display none \ -+-no-user-config \ -+-nodefaults \ -+-chardev socket,id=charmonitor,fd=1729,server,nowait \ -+-mon chardev=charmonitor,id=monitor,mode=control \ -+-rtc base=utc \ -+-no-shutdown \ -+-boot strict=on \ -+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ -+"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ -+"file":"libvirt-1-storage"}' \ -+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,\ -+bootindex=1 \ -+-device virtio-balloon-ccw,id=balloon0,devno=fe.0.0001 \ -+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ -+resourcecontrol=deny \ -+-device vhost-vsock-ccw,id=vsock0,guest-cid=4,vhostfd=6789,iommu_platform=on,\ -+devno=fe.0.0002 \ -+-msg timestamp=on -Index: libvirt-7.0.0/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.xml -=================================================================== ---- /dev/null -+++ libvirt-7.0.0/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.xml -@@ -0,0 +1,37 @@ -+ -+ QEMUGuest1 -+ c7a5fdbd-edaf-9455-926a-d65c16db1809 -+ 219136 -+ 219136 -+ 1 -+ -+ hvm -+ -+ -+ -+ qemu -+ -+ -+ destroy -+ restart -+ destroy -+ -+ /usr/bin/qemu-system-s390x -+ -+ -+ -+ -+
-+ -+ -+ -+
-+ -+ -+ -+ -+
-+ -+ -+ -+ -Index: libvirt-7.0.0/tests/qemuxml2argvtest.c -=================================================================== ---- libvirt-7.0.0.orig/tests/qemuxml2argvtest.c -+++ libvirt-7.0.0/tests/qemuxml2argvtest.c -@@ -3400,6 +3400,7 @@ mymain(void) - DO_TEST_CAPS_LATEST("vhost-vsock-auto"); - DO_TEST_CAPS_ARCH_LATEST("vhost-vsock-ccw", "s390x"); - DO_TEST_CAPS_ARCH_LATEST("vhost-vsock-ccw-auto", "s390x"); -+ DO_TEST_CAPS_ARCH_LATEST("vhost-vsock-ccw-iommu", "s390x"); - - DO_TEST_CAPS_VER("launch-security-sev", "2.12.0"); - DO_TEST_CAPS_VER("launch-security-sev-missing-platform-info", "2.12.0"); -Index: libvirt-7.0.0/tests/qemuxml2xmloutdata/vhost-vsock-ccw-iommu.s390x-latest.xml -=================================================================== ---- /dev/null -+++ libvirt-7.0.0/tests/qemuxml2xmloutdata/vhost-vsock-ccw-iommu.s390x-latest.xml -@@ -0,0 +1,37 @@ -+ -+ QEMUGuest1 -+ c7a5fdbd-edaf-9455-926a-d65c16db1809 -+ 219136 -+ 219136 -+ 1 -+ -+ hvm -+ -+ -+ -+ qemu -+ -+ -+ destroy -+ restart -+ destroy -+ -+ /usr/bin/qemu-system-s390x -+ -+ -+ -+ -+
-+ -+ -+ -+
-+ -+ -+ -+ -+
-+ -+ -+ -+ -Index: libvirt-7.0.0/tests/qemuxml2xmltest.c -=================================================================== ---- libvirt-7.0.0.orig/tests/qemuxml2xmltest.c -+++ libvirt-7.0.0/tests/qemuxml2xmltest.c -@@ -1402,6 +1402,8 @@ mymain(void) - QEMU_CAPS_CCW); - DO_TEST("vhost-vsock-ccw-auto", QEMU_CAPS_DEVICE_VHOST_VSOCK, - QEMU_CAPS_CCW); -+ DO_TEST_CAPS_ARCH_LATEST("vhost-vsock-ccw-iommu", "s390x"); -+ - - DO_TEST_CAPS_LATEST("vhost-user-fs-fd-memory"); - DO_TEST_CAPS_LATEST("vhost-user-fs-hugepages"); diff --git a/c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch b/c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch deleted file mode 100644 index 2dd1601..0000000 --- a/c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch +++ /dev/null @@ -1,49 +0,0 @@ -commit c05f00666c730de95a2e18f75326d3e9ee128bdd -Author: Michal Prívozník -Date: Thu Jan 28 14:08:24 2021 +0100 - - conf: Drop empty virDomainNetDefPostParse() - - The previous commit rendered this function empty and needless. - Remove it. - - Signed-off-by: Michal Privoznik - Reviewed-by: Ján Tomko - -Index: libvirt-7.0.0/src/conf/domain_conf.c -=================================================================== ---- libvirt-7.0.0.orig/src/conf/domain_conf.c -+++ libvirt-7.0.0/src/conf/domain_conf.c -@@ -5274,13 +5274,6 @@ virDomainControllerDefPostParse(virDomai - } - - --static int --virDomainNetDefPostParse(virDomainNetDefPtr net G_GNUC_UNUSED) --{ -- return 0; --} -- -- - static void - virDomainVsockDefPostParse(virDomainVsockDefPtr vsock) - { -@@ -5329,10 +5322,6 @@ virDomainDeviceDefPostParseCommon(virDom - ret = virDomainControllerDefPostParse(dev->data.controller); - break; - -- case VIR_DOMAIN_DEVICE_NET: -- ret = virDomainNetDefPostParse(dev->data.net); -- break; -- - case VIR_DOMAIN_DEVICE_VSOCK: - virDomainVsockDefPostParse(dev->data.vsock); - ret = 0; -@@ -5340,6 +5329,7 @@ virDomainDeviceDefPostParseCommon(virDom - - case VIR_DOMAIN_DEVICE_LEASE: - case VIR_DOMAIN_DEVICE_FS: -+ case VIR_DOMAIN_DEVICE_NET: - case VIR_DOMAIN_DEVICE_INPUT: - case VIR_DOMAIN_DEVICE_SOUND: - case VIR_DOMAIN_DEVICE_WATCHDOG: diff --git a/e3d60f76-fix-socket-file-gen.patch b/e3d60f76-fix-socket-file-gen.patch deleted file mode 100644 index 2822ee0..0000000 --- a/e3d60f76-fix-socket-file-gen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit e3d60f761c7fc1c254e39ea8e42161698c0ee7b5 -Author: Jim Fehlig -Date: Tue Feb 9 08:55:41 2021 -0700 - - build: Fix generation of virtproxyd socket files - - The various virtproxyd socket files are generated with invalid syntax, - e.g. from virtproxyd.socket - - [Unit] - Description=Libvirt proxy local socket - Before=virtproxyd.service - libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket - - Note the missing 'Conflicts=' in the last line. Fix it by prepending - 'Conflicts=' to libvirtd_socket_conflicts when adding virtproxyd - to virt_daemon_units. - - Signed-off-by: Jim Fehlig - Reviewed-by: Daniel P. Berrangé - -Index: libvirt-7.0.0/src/remote/meson.build -=================================================================== ---- libvirt-7.0.0.orig/src/remote/meson.build -+++ libvirt-7.0.0/src/remote/meson.build -@@ -230,7 +230,7 @@ if conf.has('WITH_REMOTE') - 'name': 'Libvirt proxy', - 'sockprefix': 'libvirt', - 'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ], -- 'deps': libvirtd_socket_conflicts, -+ 'deps': 'Conflicts=' + libvirtd_socket_conflicts, - } - - openrc_init_files += { diff --git a/fa58f571-libxl-lock-proc-indicator.patch b/fa58f571-libxl-lock-proc-indicator.patch deleted file mode 100644 index 1fef3c2..0000000 --- a/fa58f571-libxl-lock-proc-indicator.patch +++ /dev/null @@ -1,109 +0,0 @@ -commit fa58f571ee0b2ab72f8a5a19d35298d6de6469b3 -Author: Jim Fehlig -Date: Fri Feb 19 14:58:19 2021 -0700 - - libxl: Add lock process indicator to libxlDomainObjPrivate object - - The libvirt libxl driver has no access to FDs associated with VM disks. - The disks are opened by libxl.so and any related FDs are not exposed to - applications. The prevents using virtlockd's auto-release feature to - release locks when the FD is closed. Acquiring and releasing locks is - explicitly handled by the libxl driver. - - The current logic is structured such that locks are acquired in - libxlDomainStart and released in libxlDomainCleanup. This works well - except for migration, where the locks must be released on the source - host before the domain can be started on the destination host, but the - domain cannot be cleaned up until the migration confirmation stage. - When libxlDomainCleanup if finally called in the confirm stage, locks - are again released resulting in confusing errors from virtlockd and - libvirtd - - virtlockd[8095]: resource busy: Lockspace resource 'xxxxxx' is not locked - libvirtd[8050]: resource busy: Lockspace resource 'xxxxxx' is not locked - libvirtd[8050]: Unable to release lease on testvm - - The error is also encountered in some error cases, e.g. when - libxlDomainStart fails before acquiring locks and libxlDomainCleanup - is still used for cleanup. - - In lieu of a mechanism to check if a lock has been acquired, this patch - takes an easy approach to fixing the unnecessary lock releases by adding - an indicator to the libxlDomainPrivate object that can be set when the - lock is acquired and cleared when the lock is released. libxlDomainCleanup - can then skip releasing the lock in cases where it was previously released - or never acquired in the first place. - - Signed-off-by: Jim Fehlig - Reviewed-by: Michal Privoznik - -Index: libvirt-7.0.0/src/libxl/libxl_domain.c -=================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_domain.c -+++ libvirt-7.0.0/src/libxl/libxl_domain.c -@@ -864,10 +864,14 @@ libxlDomainCleanup(libxlDriverPrivatePtr - virHostdevReAttachDomainDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def, hostdev_flags, NULL); - -- VIR_FREE(priv->lockState); -- if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState) < 0) -- VIR_WARN("Unable to release lease on %s", vm->def->name); -- VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); -+ if (priv->lockProcessRunning) { -+ VIR_FREE(priv->lockState); -+ if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState) < 0) -+ VIR_WARN("Unable to release lease on %s", vm->def->name); -+ else -+ priv->lockProcessRunning = false; -+ VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); -+ } - - libxlLoggerCloseFile(cfg->logger, vm->def->id); - vm->def->id = -1; -@@ -1431,6 +1435,7 @@ libxlDomainStart(libxlDriverPrivatePtr d - priv->lockState) < 0) - goto destroy_dom; - VIR_FREE(priv->lockState); -+ priv->lockProcessRunning = true; - - /* Always enable domain death events */ - if (libxl_evenable_domain_death(cfg->ctx, vm->def->id, 0, &priv->deathW)) -Index: libvirt-7.0.0/src/libxl/libxl_domain.h -=================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_domain.h -+++ libvirt-7.0.0/src/libxl/libxl_domain.h -@@ -68,6 +68,7 @@ struct _libxlDomainObjPrivate { - virThreadPtr migrationDstReceiveThr; - unsigned short migrationPort; - char *lockState; -+ bool lockProcessRunning; - - struct libxlDomainJobObj job; - -Index: libvirt-7.0.0/src/libxl/libxl_migration.c -=================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_migration.c -+++ libvirt-7.0.0/src/libxl/libxl_migration.c -@@ -1247,9 +1247,12 @@ libxlDomainMigrationSrcPerform(libxlDriv - virObjectLock(vm); - - if (ret == 0) { -- if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState) < 0) -+ if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState) == 0) { -+ priv->lockProcessRunning = false; -+ VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); -+ } else { - VIR_WARN("Unable to release lease on %s", vm->def->name); -- VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); -+ } - } else { - /* - * Confirm phase will not be executed if perform fails. End the -@@ -1382,6 +1385,7 @@ libxlDomainMigrationSrcConfirm(libxlDriv - "xen:///system", - vm, - priv->lockState); -+ priv->lockProcessRunning = true; - if (libxl_domain_resume(cfg->ctx, vm->def->id, 1, 0) == 0) { - ret = 0; - } else { diff --git a/libvirt-7.0.0.tar.xz b/libvirt-7.0.0.tar.xz deleted file mode 100644 index 231d4c8..0000000 --- a/libvirt-7.0.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca3833844d08c22867f1d1a46edc36bda7d6fe1a4f267e7d77100b79fc9ddd89 -size 8567648 diff --git a/libvirt-7.0.0.tar.xz.asc b/libvirt-7.0.0.tar.xz.asc deleted file mode 100644 index 741c53e..0000000 --- a/libvirt-7.0.0.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmABWDMACgkQymi+gBAI -TJw++g//bm0kEnJtFg5dtirTqDrOVoots/9QJsAyjOq7o/BeKlTzbIeGScRSfYIm -iMDnRqtNSihunntklmP6uetzXBTJIqzyKAi/dMM2mVY7ueC4EK34WoQswPOQVMuc -o4qU4zF0+pJexorKlBQce35gQsHy73mqUAOx+sf6ndGAHPNbZhJ6G60uqwrRfwRl -OWbBqCKp3SJ34tMN2wd2bB7yBK2eD0oGbyAcQZ58kfcbJSSmqagfDQko6lCJcx9K -QAbN3XdMyvUJL6o/Yqu9h7hs1k3QUjUqdXpVVwV1EGStZFylP3fmos5m/OM82tmY -rmViyaDQU05eDrYtwy6pfabdgibOhIt/YUkxnY+ey1GZwSlUqdwxyEkfWGL5tn75 -41qyiltV3NLS/C8ZOTGla/ZGj4Q7fkXo6u0bLk8TPypsywHh1wRp8Azns+NDLgP3 -tMirz3Suqbrwgfs6mfD87Nw5C/MAJcdFshamKvX/j89Bas+rjeoFs37P2ggvcdWl -HcFmhgAk2Me/LbkSbcSiaUreq1EUM4CzmAoHYVFmYSw9Ycb83/+WHm2uQnIyHGfM -7U3F8cuBVKE/mj6bEVbBDHBf6Vx/EkQdS+J0rmGYZaIStlSatnZoI7dWOa1pqY3X -Tqk8syK9KqmQaWM2Fa/OKkHBIxbf9hLgvewEI1vt+Vt/rIj/JHQ= -=ROx5 ------END PGP SIGNATURE----- diff --git a/libvirt-7.1.0.tar.xz b/libvirt-7.1.0.tar.xz new file mode 100644 index 0000000..8fa683c --- /dev/null +++ b/libvirt-7.1.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:870f180d80256411c5afc39bc5aac4f8acca04a4e0725c576ad24053dc64a06c +size 8645944 diff --git a/libvirt-7.1.0.tar.xz.asc b/libvirt-7.1.0.tar.xz.asc new file mode 100644 index 0000000..71f31b8 --- /dev/null +++ b/libvirt-7.1.0.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmA8ySIACgkQymi+gBAI +TJz9lA/+P9rkzHysDajRUdQB35uW3a2xT/wS598J2sucJ1Ff6UTvwbyuLwLm9qE8 +2X0dZWpNshjnQ/Oj5F/qMa/MRQK3pSSks6gWmWFUw5eW/sQydxn41OIFEuLbAmdT +W6538/vLVGakVLhJlvL9DxBC5kXzESkik3I5ORHNGMEAgDkSF1rj4MFYhYqNNV0B +pwVIkbSBTWyW0bsqID1KT3ygq5qYWTwE9Gd06uAORCmZebpBgtdldLnkqAp4rog0 +gDyAY0AQ9PnsqCUowpgKzK2tPtJZ+lRz9M0xFG3OypNEmoqcnc3OlNVONB+7EYKW +dmLNwa24UWyOJMjKmZivvC2kqhQ0YqLxjb3oMUiLFkn4ahAspCfySG2fb9wfo3wh +Z5p1j/gpbSJU/hD7ifkqNPxIGDZHuzmTDeLZ6Q7kBENY3/aS99dOKHfpPV2/gYoJ +ZvVbzraUBsl1rTkK3btKevq/0LGJDfM5/YmEPrH6auXLq0a/TNDv19uZaqpPr8Gh +Y5r3gXS8RUmgG7zH0acaCYBXM02INNmVrlc6n4BGFnWgsqgEzdEgGtsfBcMoqhan +/pBzs33FZxaMhFLPpqLamR7aDxkrlpynWYqKnAKxymwPZR7DgoeMbJEabWiDuwDN +OA7MkTcyGa1OXaymUf7MYD3y0aDl4Uh2tNd80RmE+DTm9UvGH9M= +=4z9B +-----END PGP SIGNATURE----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 4ae24f9..fef0119 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-7.0.0/src/cpu_map/ppc64_POWER8.xml +Index: libvirt-7.1.0/src/cpu_map/ppc64_POWER8.xml =================================================================== ---- libvirt-7.0.0.orig/src/cpu_map/ppc64_POWER8.xml -+++ libvirt-7.0.0/src/cpu_map/ppc64_POWER8.xml +--- libvirt-7.1.0.orig/src/cpu_map/ppc64_POWER8.xml ++++ libvirt-7.1.0/src/cpu_map/ppc64_POWER8.xml @@ -4,5 +4,7 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 0a08acc..32a00bb 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-7.0.0/tools/virsh.c +Index: libvirt-7.1.0/tools/virsh.c =================================================================== ---- libvirt-7.0.0.orig/tools/virsh.c -+++ libvirt-7.0.0/tools/virsh.c +--- libvirt-7.1.0.orig/tools/virsh.c ++++ libvirt-7.1.0/tools/virsh.c @@ -543,6 +543,8 @@ virshShowVersion(vshControl *ctl G_GNUC_ vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -11,10 +11,10 @@ Index: libvirt-7.0.0/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-7.0.0/src/interface/interface_backend_netcf.c +Index: libvirt-7.1.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-7.0.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-7.0.0/src/interface/interface_backend_netcf.c +--- libvirt-7.1.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-7.1.0/src/interface/interface_backend_netcf.c @@ -21,7 +21,12 @@ #include @@ -126,10 +126,10 @@ Index: libvirt-7.0.0/src/interface/interface_backend_netcf.c if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0) return -1; if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) -Index: libvirt-7.0.0/src/interface/interface_driver.c +Index: libvirt-7.1.0/src/interface/interface_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/interface/interface_driver.c -+++ libvirt-7.0.0/src/interface/interface_driver.c +--- libvirt-7.1.0.orig/src/interface/interface_driver.c ++++ libvirt-7.1.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -147,12 +147,12 @@ Index: libvirt-7.0.0/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-7.0.0/meson.build +Index: libvirt-7.1.0/meson.build =================================================================== ---- libvirt-7.0.0.orig/meson.build -+++ libvirt-7.0.0/meson.build -@@ -1159,6 +1159,12 @@ if netcf_dep.found() - conf.set('WITH_NETCF', 1) +--- libvirt-7.1.0.orig/meson.build ++++ libvirt-7.1.0/meson.build +@@ -1162,6 +1162,12 @@ if not get_option('netcf').disabled() + endif endif +netcontrol_version = '0.2.0' @@ -164,12 +164,12 @@ Index: libvirt-7.0.0/meson.build have_gnu_gettext_tools = false if not get_option('nls').disabled() have_gettext = cc.has_function('gettext') -@@ -1550,10 +1556,10 @@ elif get_option('driver_hyperv').enabled +@@ -1553,10 +1559,10 @@ elif get_option('driver_hyperv').enabled error('openwsman is required for the Hyper-V driver') endif --if not get_option('driver_interface').disabled() and conf.has('WITH_LIBVIRTD') and (udev_dep.found() or netcf_dep.found()) -+if not get_option('driver_interface').disabled() and conf.has('WITH_LIBVIRTD') and (udev_dep.found() or netcf_dep.found() or netcontrol_dep.found()) +-if not get_option('driver_interface').disabled() and conf.has('WITH_LIBVIRTD') and (udev_dep.found() or conf.has('WITH_NETCF')) ++if not get_option('driver_interface').disabled() and conf.has('WITH_LIBVIRTD') and (udev_dep.found() or conf.has('WITH_NETCF') or netcontrol_dep.found()) conf.set('WITH_INTERFACE', 1) elif get_option('driver_interface').enabled() - error('Requested the Interface driver without netcf or udev and libvirtd support') @@ -177,18 +177,18 @@ Index: libvirt-7.0.0/meson.build endif if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD') -@@ -2363,6 +2369,7 @@ libs_summary = { +@@ -2360,6 +2366,7 @@ libs_summary = { 'libssh2': libssh2_dep.found(), 'libutil': libutil_dep.found(), - 'netcf': netcf_dep.found(), + 'netcf': conf.has('WITH_NETCF'), + 'netcontrol': netcontrol_dep.found(), 'NLS': have_gnu_gettext_tools, 'numactl': numactl_dep.found(), 'openwsman': openwsman_dep.found(), -Index: libvirt-7.0.0/src/interface/meson.build +Index: libvirt-7.1.0/src/interface/meson.build =================================================================== ---- libvirt-7.0.0.orig/src/interface/meson.build -+++ libvirt-7.0.0/src/interface/meson.build +--- libvirt-7.1.0.orig/src/interface/meson.build ++++ libvirt-7.1.0/src/interface/meson.build @@ -2,7 +2,7 @@ interface_driver_sources = [ 'interface_driver.c', ] @@ -206,10 +206,10 @@ Index: libvirt-7.0.0/src/interface/meson.build udev_dep, ], 'link_args': [ -Index: libvirt-7.0.0/meson_options.txt +Index: libvirt-7.1.0/meson_options.txt =================================================================== ---- libvirt-7.0.0.orig/meson_options.txt -+++ libvirt-7.0.0/meson_options.txt +--- libvirt-7.1.0.orig/meson_options.txt ++++ libvirt-7.1.0/meson_options.txt @@ -28,6 +28,7 @@ option('libpcap', type: 'feature', value option('libssh', type: 'feature', value: 'auto', description: 'libssh support') option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support') diff --git a/libvirt.changes b/libvirt.changes index 9d267c1..f325063 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,16 +1,27 @@ ------------------------------------------------------------------- -Wed Feb 24 16:20:47 UTC 2021 - James Fehlig +Mon Mar 1 23:06:57 UTC 2021 - James Fehlig -- libxl: Add lock process indicator to track resource locking - fa58f571-libxl-lock-proc-indicator.patch - bsc#1182367 +- libxl: Fix node device detach when driver unspecified + libxl-default-pcistub-name.patch + boo#1182885 +- spec: Bump minimum glib version to 2.56 ------------------------------------------------------------------- -Mon Feb 22 18:07:47 UTC 2021 - James Fehlig +Mon Mar 1 15:27:37 UTC 2021 - James Fehlig -- libxl: Fix domain shutdown - 87a9d3a6-libxl-fix-domain-shutdown.patch - bsc#1182515 +- Update to libvirt 7.1.0 + - Many incremental improvements and bug fixes, see + https://libvirt.org/news.html + - bsc#1182367, bsc#1182515 + - Dropped patches: + 32c5e432-revert-f035f53b.patch, + e3d60f76-fix-socket-file-gen.patch, + 7cf60006-qemu-swtpm-aarch64.patch, + afb823fc-qemu-validate-swtpm.patch, + 8a4b8996-conf-move-virDomainCheckVirtioOptions.patch, + c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch, + 19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch, + bd112c9e-qemu-virtio-options-vsock.patch ------------------------------------------------------------------- Sat Feb 20 00:51:09 UTC 2021 - James Fehlig diff --git a/libvirt.spec b/libvirt.spec index c516132..4f5ec1b 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -141,7 +141,7 @@ Name: libvirt URL: http://libvirt.org/ -Version: 7.0.0 +Version: 7.1.0 Release: 0 Summary: Library providing a virtualization API License: LGPL-2.1-or-later @@ -190,7 +190,7 @@ BuildRequires: qemu-tools %endif BuildRequires: bash-completion-devel >= 2.0 BuildRequires: fdupes -BuildRequires: glib2-devel >= 2.48 +BuildRequires: glib2-devel >= 2.56 BuildRequires: libattr-devel BuildRequires: libgcrypt-devel BuildRequires: libgnutls-devel @@ -291,19 +291,10 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: 32c5e432-revert-f035f53b.patch -Patch1: e3d60f76-fix-socket-file-gen.patch -Patch2: 7cf60006-qemu-swtpm-aarch64.patch -Patch3: afb823fc-qemu-validate-swtpm.patch -Patch4: 8a4b8996-conf-move-virDomainCheckVirtioOptions.patch -Patch5: c05f0066-conf-drop-empty-virDomainNetDefPostParse.patch -Patch6: 19d4e467-conf-improve-virDomainVirtioOptionsCheckABIStability.patch -Patch7: bd112c9e-qemu-virtio-options-vsock.patch -Patch8: 87a9d3a6-libxl-fix-domain-shutdown.patch -Patch9: fa58f571-libxl-lock-proc-indicator.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch +Patch102: libxl-default-pcistub-name.patch # Need to go upstream Patch150: libvirt-power8-models.patch Patch151: ppc64le-canonical-name.patch @@ -1442,6 +1433,7 @@ fi %doc %{_mandir}/man8/libvirtd.8* %doc %{_mandir}/man8/virtlogd.8* %doc %{_mandir}/man8/virtlockd.8* +%doc %{_mandir}/man8/virtproxyd.8* %doc %{_mandir}/man7/virkey*.7* %if %{with_apparmor} %dir %{_sysconfdir}/apparmor.d @@ -1488,6 +1480,7 @@ fi %{_sbindir}/rcvirtinterfaced %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so +%doc %{_mandir}/man8/virtinterfaced.8* %files daemon-driver-network %{_fillupdir}/sysconfig.virtnetworkd @@ -1512,6 +1505,7 @@ fi %dir %{_prefix}/lib/firewalld/zones/ %{_prefix}/lib/firewalld/zones/libvirt.xml %endif +%doc %{_mandir}/man8/virtnetworkd.8* %files daemon-driver-nodedev %{_fillupdir}/sysconfig.virtnodedevd @@ -1526,6 +1520,7 @@ fi %{_sbindir}/rcvirtnodedevd %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so +%doc %{_mandir}/man8/virtnodedevd.8* %files daemon-driver-nwfilter %{_fillupdir}/sysconfig.virtnwfilterd @@ -1541,6 +1536,7 @@ fi %dir %attr(0700, root, root) %{_sysconfdir}/%{name}/nwfilter/ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so +%doc %{_mandir}/man8/virtnwfilterd.8* %files daemon-driver-secret %{_fillupdir}/sysconfig.virtsecretd @@ -1555,6 +1551,7 @@ fi %{_sbindir}/rcvirtsecretd %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so +%doc %{_mandir}/man8/virtsecretd.8* %files daemon-driver-storage @@ -1576,6 +1573,7 @@ fi %{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so %dir %{_libdir}/%{name}/storage-file %{_libdir}/%{name}/storage-file/libvirt_storage_file_fs.so +%doc %{_mandir}/man8/virtstoraged.8* %files daemon-driver-storage-disk %{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so @@ -1641,7 +1639,8 @@ fi %dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/ %dir %attr(0731, tss, tss) %{_localstatedir}/log/swtpm/%{name}/qemu/ %{_bindir}/virt-qemu-run -%{_mandir}/man1/virt-qemu-run.1* +%doc %{_mandir}/man1/virt-qemu-run.1* +%doc %{_mandir}/man8/virtqemud.8* %endif %if %{with_lxc} @@ -1668,6 +1667,7 @@ fi %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so %{_bindir}/virt-create-rootfs %doc %{_mandir}/man1/virt-create-rootfs.1* +%doc %{_mandir}/man8/virtlxcd.8* %endif %if %{with_libxl} @@ -1692,6 +1692,7 @@ fi %dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/libxl/ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so +%doc %{_mandir}/man8/virtxend.8* %endif %if %{with_vbox} @@ -1708,6 +1709,7 @@ fi %{_sbindir}/virtvboxd %{_sbindir}/rcvirtvboxd %{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so +%doc %{_mandir}/man8/virtvboxd.8* %endif %if %{with_qemu} diff --git a/libxl-default-pcistub-name.patch b/libxl-default-pcistub-name.patch new file mode 100644 index 0000000..88b4c7e --- /dev/null +++ b/libxl-default-pcistub-name.patch @@ -0,0 +1,33 @@ +commit 844c278ad2a957592ba9fbf93c6aa076a2b3d216 +Author: Jim Fehlig +Date: Mon Mar 1 15:41:44 2021 -0700 + + libxl: Fix node device detach when driver unspecified + + Commit 887dd0d331 caused a small regression in NodeDeviceDetach in the libxl + driver when the 'driver' parameter is not specified. E.g. + + error: Failed to detach device pci_0000_0a_10_0 + error: An error occurred, but the cause is unknown + + If the driver name is not specified, NULL is passed to + virDomainDriverNodeDeviceDetachFlags, in which case virPCIDeviceSetStubDriver + is never called to set the stub to pciback. Fix it by setting the driver to + "xen" if it is not specified when invoking NodeDeviceDetach. + + Signed-off-by: Jim Fehlig + +diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c +index 75a8d46af0..348434ca72 100644 +--- a/src/libxl/libxl_driver.c ++++ b/src/libxl/libxl_driver.c +@@ -5777,6 +5777,9 @@ libxlNodeDeviceDetachFlags(virNodeDevicePtr dev, + + virCheckFlags(0, -1); + ++ if (!driverName) ++ driverName = "xen"; ++ + if (driverName && STRNEQ(driverName, "xen")) { + virReportError(VIR_ERR_INVALID_ARG, + _("unsupported driver name '%s'"), driverName); diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 25f89e3..e88ede4 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -8,10 +8,10 @@ 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-7.0.0/src/libxl/libxl_driver.c +Index: libvirt-7.1.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_driver.c -+++ libvirt-7.0.0/src/libxl/libxl_driver.c +--- libvirt-7.1.0.orig/src/libxl/libxl_driver.c ++++ libvirt-7.1.0/src/libxl/libxl_driver.c @@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } @@ -74,7 +74,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6664,6 +6719,7 @@ static virHypervisorDriver libxlHypervis +@@ -6485,6 +6540,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index 31ffbd2..9f1efda 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -3,10 +3,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425 src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-7.0.0/src/libxl/libxl_conf.c +Index: libvirt-7.1.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_conf.c -+++ libvirt-7.0.0/src/libxl/libxl_conf.c +--- libvirt-7.1.0.orig/src/libxl/libxl_conf.c ++++ libvirt-7.1.0/src/libxl/libxl_conf.c @@ -921,6 +921,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -38,7 +38,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c static char * libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *username, -@@ -1159,6 +1183,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1163,6 +1187,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 8f27da1..486451d 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-7.0.0/docs/manpages/virsh.rst +Index: libvirt-7.1.0/docs/manpages/virsh.rst =================================================================== ---- libvirt-7.0.0.orig/docs/manpages/virsh.rst -+++ libvirt-7.0.0/docs/manpages/virsh.rst +--- libvirt-7.1.0.orig/docs/manpages/virsh.rst ++++ libvirt-7.1.0/docs/manpages/virsh.rst @@ -3145,7 +3145,8 @@ migrate [--postcopy-bandwidth bandwidth] [--parallel [--parallel-connections connections]] @@ -43,10 +43,10 @@ Index: libvirt-7.0.0/docs/manpages/virsh.rst Running migration can be canceled by interrupting virsh (usually using ``Ctrl-C``) or by ``domjobabort`` command sent from another virsh instance. -Index: libvirt-7.0.0/include/libvirt/libvirt-domain.h +Index: libvirt-7.1.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-7.0.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-7.0.0/include/libvirt/libvirt-domain.h +--- libvirt-7.1.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-7.1.0/include/libvirt/libvirt-domain.h @@ -1078,6 +1078,25 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination" @@ -73,11 +73,11 @@ Index: libvirt-7.0.0/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-7.0.0/src/libxl/libxl_driver.c +Index: libvirt-7.1.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_driver.c -+++ libvirt-7.0.0/src/libxl/libxl_driver.c -@@ -6226,6 +6226,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-7.1.0.orig/src/libxl/libxl_driver.c ++++ libvirt-7.1.0/src/libxl/libxl_driver.c +@@ -6047,6 +6047,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -87,7 +87,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6242,6 +6245,15 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6063,6 +6066,15 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -103,7 +103,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6256,11 +6268,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6077,11 +6089,11 @@ libxlDomainMigratePerform3Params(virDoma if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) { if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml, @@ -117,11 +117,11 @@ Index: libvirt-7.0.0/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-7.0.0/src/libxl/libxl_migration.c +Index: libvirt-7.1.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_migration.c -+++ libvirt-7.0.0/src/libxl/libxl_migration.c -@@ -341,18 +341,38 @@ libxlMigrateDstReceive(virNetSocketPtr s +--- libvirt-7.1.0.orig/src/libxl/libxl_migration.c ++++ libvirt-7.1.0/src/libxl/libxl_migration.c +@@ -340,18 +340,38 @@ libxlMigrateDstReceive(virNetSocketPtr s static int libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, virDomainObjPtr vm, @@ -162,7 +162,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (ret != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to send migration data to destination host")); -@@ -905,7 +925,7 @@ struct libxlTunnelControl { +@@ -900,7 +920,7 @@ struct libxlTunnelControl { static int libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver, virDomainObjPtr vm, @@ -171,7 +171,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c virStreamPtr st, struct libxlTunnelControl **tnl) { -@@ -938,7 +958,7 @@ libxlMigrationSrcStartTunnel(libxlDriver +@@ -933,7 +953,7 @@ libxlMigrationSrcStartTunnel(libxlDriver virObjectUnlock(vm); /* Send data to pipe */ @@ -180,7 +180,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c virObjectLock(vm); out: -@@ -974,7 +994,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -969,7 +989,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP const char *dconnuri G_GNUC_UNUSED, const char *dname, const char *uri, @@ -189,7 +189,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c { virDomainPtr ddomain = NULL; virTypedParameterPtr params = NULL; -@@ -1019,11 +1039,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1014,11 +1034,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP /* We don't require the destination to have P2P support * as it looks to be normal migration from the receiver perspective. */ @@ -203,7 +203,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (!(st = virStreamNew(dconn, 0))) goto confirm; ret = dconn->driver->domainMigratePrepareTunnel3Params -@@ -1037,7 +1057,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1032,7 +1052,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP if (ret == -1) goto confirm; @@ -212,7 +212,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (uri_out) { if (virTypedParamsReplaceString(¶ms, &nparams, VIR_MIGRATE_PARAM_URI, uri_out) < 0) { -@@ -1052,11 +1072,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1047,11 +1067,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP } VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out)); @@ -227,7 +227,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (ret < 0) { notify_source = false; virErrorPreserveLast(&orig_err); -@@ -1091,7 +1111,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1086,7 +1106,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP confirm: if (notify_source) { VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm); @@ -236,7 +236,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (ret < 0) VIR_WARN("Guest %s probably left in 'paused' state on source", -@@ -1099,7 +1119,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1094,7 +1114,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP } cleanup: @@ -245,7 +245,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c libxlMigrationSrcStopTunnel(tc); virObjectUnref(st); } -@@ -1143,7 +1163,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD +@@ -1138,7 +1158,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD const char *dconnuri, const char *uri_str G_GNUC_UNUSED, const char *dname, @@ -254,7 +254,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c { int ret = -1; int useParams; -@@ -1180,7 +1200,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD +@@ -1175,7 +1195,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD } ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri, @@ -263,7 +263,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c if (ret < 0) { /* -@@ -1207,7 +1227,7 @@ libxlDomainMigrationSrcPerform(libxlDriv +@@ -1202,7 +1222,7 @@ libxlDomainMigrationSrcPerform(libxlDriv const char *dconnuri G_GNUC_UNUSED, const char *uri_str, const char *dname G_GNUC_UNUSED, @@ -272,7 +272,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c { libxlDomainObjPrivatePtr priv = vm->privateData; char *hostname = NULL; -@@ -1243,7 +1263,7 @@ libxlDomainMigrationSrcPerform(libxlDriv +@@ -1238,7 +1258,7 @@ libxlDomainMigrationSrcPerform(libxlDriv /* suspend vm and send saved data to dst through socket fd */ virObjectUnlock(vm); @@ -281,10 +281,10 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.c virObjectLock(vm); if (ret == 0) { -Index: libvirt-7.0.0/src/libxl/libxl_migration.h +Index: libvirt-7.1.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_migration.h -+++ libvirt-7.0.0/src/libxl/libxl_migration.h +--- libvirt-7.1.0.orig/src/libxl/libxl_migration.h ++++ libvirt-7.1.0/src/libxl/libxl_migration.h @@ -35,6 +35,9 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -327,11 +327,11 @@ Index: libvirt-7.0.0/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationDstFinish(virConnectPtr dconn, -Index: libvirt-7.0.0/tools/virsh-domain.c +Index: libvirt-7.1.0/tools/virsh-domain.c =================================================================== ---- libvirt-7.0.0.orig/tools/virsh-domain.c -+++ libvirt-7.0.0/tools/virsh-domain.c -@@ -10707,6 +10707,18 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-7.1.0.orig/tools/virsh-domain.c ++++ libvirt-7.1.0/tools/virsh-domain.c +@@ -10703,6 +10703,18 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_STRING, .help = N_("override the destination host name used for TLS verification") }, @@ -350,7 +350,7 @@ Index: libvirt-7.0.0/tools/virsh-domain.c {.name = NULL} }; -@@ -10727,6 +10739,7 @@ doMigrate(void *opaque) +@@ -10723,6 +10735,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -358,7 +358,7 @@ Index: libvirt-7.0.0/tools/virsh-domain.c #ifndef WIN32 sigset_t sigmask, oldsigmask; -@@ -10857,6 +10870,22 @@ doMigrate(void *opaque) +@@ -10853,6 +10866,22 @@ doMigrate(void *opaque) goto save_error; } diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 70aac62..7ce3f92 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -7,10 +7,10 @@ and npiv. For more details, see bsc#954872 and FATE#319810 -Index: libvirt-7.0.0/src/libxl/libxl_conf.c +Index: libvirt-7.1.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_conf.c -+++ libvirt-7.0.0/src/libxl/libxl_conf.c +--- libvirt-7.1.0.orig/src/libxl/libxl_conf.c ++++ libvirt-7.1.0/src/libxl/libxl_conf.c @@ -921,6 +921,22 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -34,7 +34,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c static void libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) { -@@ -1058,6 +1074,7 @@ libxlMakeNetworkDiskSrc(virStorageSource +@@ -1062,6 +1078,7 @@ libxlMakeNetworkDiskSrc(virStorageSource int libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) { @@ -42,7 +42,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c const char *driver = virDomainDiskGetDriver(l_disk); int format = virDomainDiskGetFormat(l_disk); int actual_type = virStorageSourceGetActualType(l_disk->src); -@@ -1073,7 +1090,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1077,7 +1094,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0) return -1; } else { @@ -51,7 +51,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c } x_disk->vdev = g_strdup(l_disk->dst); -@@ -1184,6 +1201,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1188,6 +1205,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 5a8c80a..dd55fc0 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-7.0.0/src/lxc/lxc_controller.c +Index: libvirt-7.1.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-7.0.0.orig/src/lxc/lxc_controller.c -+++ libvirt-7.0.0/src/lxc/lxc_controller.c +--- libvirt-7.1.0.orig/src/lxc/lxc_controller.c ++++ libvirt-7.1.0/src/lxc/lxc_controller.c @@ -2015,6 +2015,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; @@ -25,10 +25,10 @@ Index: libvirt-7.0.0/src/lxc/lxc_controller.c return ret; } -Index: libvirt-7.0.0/src/lxc/lxc_driver.c +Index: libvirt-7.1.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/lxc/lxc_driver.c -+++ libvirt-7.0.0/src/lxc/lxc_driver.c +--- libvirt-7.1.0.orig/src/lxc/lxc_driver.c ++++ libvirt-7.1.0/src/lxc/lxc_driver.c @@ -67,6 +67,7 @@ #include "virtime.h" #include "virtypedparam.h" @@ -53,10 +53,10 @@ Index: libvirt-7.0.0/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-7.0.0/src/lxc/lxc_process.c +Index: libvirt-7.1.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-7.0.0.orig/src/lxc/lxc_process.c -+++ libvirt-7.0.0/src/lxc/lxc_process.c +--- libvirt-7.1.0.orig/src/lxc/lxc_process.c ++++ libvirt-7.1.0/src/lxc/lxc_process.c @@ -51,6 +51,7 @@ #include "virstring.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 57fcf69..8d98c92 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) -Index: libvirt-7.0.0/src/network/bridge_driver.c +Index: libvirt-7.1.0/src/network/bridge_driver.c =================================================================== ---- libvirt-7.0.0.orig/src/network/bridge_driver.c -+++ libvirt-7.0.0/src/network/bridge_driver.c +--- libvirt-7.1.0.orig/src/network/bridge_driver.c ++++ libvirt-7.1.0/src/network/bridge_driver.c @@ -1449,7 +1449,14 @@ networkDnsmasqConfContents(virNetworkObj if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (ipdef->nranges || ipdef->nhosts) { @@ -37,10 +37,10 @@ Index: libvirt-7.0.0/src/network/bridge_driver.c } if (ipdef->tftproot) { -Index: libvirt-7.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +Index: libvirt-7.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf =================================================================== ---- libvirt-7.0.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf -+++ libvirt-7.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +--- libvirt-7.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf ++++ libvirt-7.1.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 110829b..708eb06 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-7.0.0/src/util/virarch.c +Index: libvirt-7.1.0/src/util/virarch.c =================================================================== ---- libvirt-7.0.0.orig/src/util/virarch.c -+++ libvirt-7.0.0/src/util/virarch.c +--- libvirt-7.1.0.orig/src/util/virarch.c ++++ libvirt-7.1.0/src/util/virarch.c @@ -220,6 +220,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 7cf4eaa..26ed96e 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-7.0.0/src/security/apparmor/libvirt-qemu +Index: libvirt-7.1.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-7.0.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-7.0.0/src/security/apparmor/libvirt-qemu +--- libvirt-7.1.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-7.1.0/src/security/apparmor/libvirt-qemu @@ -244,3 +244,6 @@ # /sys/bus/nd/devices / r, # harmless on any lsb compliant system diff --git a/suse-apparmor-libnl-paths.patch b/suse-apparmor-libnl-paths.patch index 3a4eeb7..02b5a84 100644 --- a/suse-apparmor-libnl-paths.patch +++ b/suse-apparmor-libnl-paths.patch @@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule to squelch a denial when starting confined domains. Found while investigating bsc#1058847 -Index: libvirt-7.0.0/src/security/apparmor/libvirt-qemu +Index: libvirt-7.1.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-7.0.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-7.0.0/src/security/apparmor/libvirt-qemu +--- libvirt-7.1.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-7.1.0/src/security/apparmor/libvirt-qemu @@ -64,6 +64,7 @@ #/dev/fb* rw, @@ -20,10 +20,10 @@ Index: libvirt-7.0.0/src/security/apparmor/libvirt-qemu @{HOME}/.pulse-cookie rwk, owner /root/.pulse-cookie rwk, owner /root/.pulse/ rw, -Index: libvirt-7.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-7.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== ---- libvirt-7.0.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in -+++ libvirt-7.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +--- libvirt-7.1.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-7.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in @@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt # Used when internally running another command (namely apparmor_parser) @{PROC}/@{pid}/fd/ r, diff --git a/suse-bump-xen-version.patch b/suse-bump-xen-version.patch index b25b4f8..29df0bc 100644 --- a/suse-bump-xen-version.patch +++ b/suse-bump-xen-version.patch @@ -9,11 +9,11 @@ need backporting to anything older. The dependency on xen.git commit c3999835df makes it hard to upstream this patch. See bsc#1157490 and bsc#1167007 for more details -Index: libvirt-7.0.0/src/libxl/libxl_conf.c +Index: libvirt-7.1.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_conf.c -+++ libvirt-7.0.0/src/libxl/libxl_conf.c -@@ -1827,7 +1827,7 @@ libxlDriverConfigNew(void) +--- libvirt-7.1.0.orig/src/libxl/libxl_conf.c ++++ libvirt-7.1.0/src/libxl/libxl_conf.c +@@ -1831,7 +1831,7 @@ libxlDriverConfigNew(void) int libxlDriverConfigInit(libxlDriverConfigPtr cfg) { @@ -22,11 +22,11 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c if (virFileMakePath(cfg->logDir) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, -Index: libvirt-7.0.0/src/libxl/libxl_domain.c +Index: libvirt-7.1.0/src/libxl/libxl_domain.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_domain.c -+++ libvirt-7.0.0/src/libxl/libxl_domain.c -@@ -1011,8 +1011,8 @@ libxlDomainSetVcpuAffinities(libxlDriver +--- libvirt-7.1.0.orig/src/libxl/libxl_domain.c ++++ libvirt-7.1.0/src/libxl/libxl_domain.c +@@ -1007,8 +1007,8 @@ libxlDomainSetVcpuAffinities(libxlDriver static int libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config) { @@ -37,7 +37,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_domain.c int32_t target_mem; int tries = 3; int wait_secs = 10; -@@ -1402,7 +1402,7 @@ libxlDomainStart(libxlDriverPrivatePtr d +@@ -1397,7 +1397,7 @@ libxlDomainStart(libxlDriverPrivatePtr d params.stream_version = restore_ver; #endif ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid, @@ -46,10 +46,10 @@ Index: libvirt-7.0.0/src/libxl/libxl_domain.c &aop_console_how); libxl_domain_restore_params_dispose(¶ms); } -Index: libvirt-7.0.0/tests/libxlmock.c +Index: libvirt-7.1.0/tests/libxlmock.c =================================================================== ---- libvirt-7.0.0.orig/tests/libxlmock.c -+++ libvirt-7.0.0/tests/libxlmock.c +--- libvirt-7.1.0.orig/tests/libxlmock.c ++++ libvirt-7.1.0/tests/libxlmock.c @@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory, int, 0, @@ -59,11 +59,11 @@ Index: libvirt-7.0.0/tests/libxlmock.c VIR_MOCK_STUB_RET_ARGS(xc_interface_close, int, 0, -Index: libvirt-7.0.0/meson.build +Index: libvirt-7.1.0/meson.build =================================================================== ---- libvirt-7.0.0.orig/meson.build -+++ libvirt-7.0.0/meson.build -@@ -1563,7 +1563,7 @@ elif get_option('driver_interface').enab +--- libvirt-7.1.0.orig/meson.build ++++ libvirt-7.1.0/meson.build +@@ -1566,7 +1566,7 @@ elif get_option('driver_interface').enab endif if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD') @@ -72,7 +72,7 @@ Index: libvirt-7.0.0/meson.build libxl_dep = dependency('xenlight', version: '>=' + libxl_version, required: get_option('driver_libxl')) if libxl_dep.found() -@@ -1593,7 +1593,7 @@ if not get_option('driver_libxl').disabl +@@ -1596,7 +1596,7 @@ if not get_option('driver_libxl').disabl endif libxl_dep = declare_dependency( diff --git a/suse-libvirt-guests-service.patch b/suse-libvirt-guests-service.patch index b725b9f..096eaf0 100644 --- a/suse-libvirt-guests-service.patch +++ b/suse-libvirt-guests-service.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests service to conform to SUSE standards -Index: libvirt-7.0.0/tools/libvirt-guests.sh.in +Index: libvirt-7.1.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-7.0.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-7.0.0/tools/libvirt-guests.sh.in +--- libvirt-7.1.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-7.1.0/tools/libvirt-guests.sh.in @@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@" localstatedir="@localstatedir@" libvirtd="@sbindir@"/libvirtd @@ -28,10 +28,10 @@ Index: libvirt-7.0.0/tools/libvirt-guests.sh.in RETVAL=0 -Index: libvirt-7.0.0/tools/libvirt-guests.sysconf +Index: libvirt-7.1.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-7.0.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-7.0.0/tools/libvirt-guests.sysconf +--- libvirt-7.1.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-7.1.0/tools/libvirt-guests.sysconf @@ -1,9 +1,14 @@ +## Path: System/Virtualization/libvirt-guests # Customizations for the libvirt-guests.service systemd unit diff --git a/suse-libvirtd-disable-tls.patch b/suse-libvirtd-disable-tls.patch index 3905caf..aae3880 100644 --- a/suse-libvirtd-disable-tls.patch +++ b/suse-libvirtd-disable-tls.patch @@ -3,10 +3,10 @@ Disable TLS by default On SUSE distros, the default is for libvirtd to listen only on the Unix Domain Socket. The libvirt client still provides remote access via a SSH tunnel. -Index: libvirt-7.0.0/src/remote/remote_daemon_config.c +Index: libvirt-7.1.0/src/remote/remote_daemon_config.c =================================================================== ---- libvirt-7.0.0.orig/src/remote/remote_daemon_config.c -+++ libvirt-7.0.0/src/remote/remote_daemon_config.c +--- libvirt-7.1.0.orig/src/remote/remote_daemon_config.c ++++ libvirt-7.1.0/src/remote/remote_daemon_config.c @@ -98,7 +98,7 @@ daemonConfigNew(bool privileged G_GNUC_U #ifdef WITH_IP @@ -16,10 +16,10 @@ Index: libvirt-7.0.0/src/remote/remote_daemon_config.c # else /* ! LIBVIRTD */ data->listen_tls = false; /* Always honoured, --listen doesn't exist. */ # endif /* ! LIBVIRTD */ -Index: libvirt-7.0.0/src/remote/libvirtd.conf.in +Index: libvirt-7.1.0/src/remote/libvirtd.conf.in =================================================================== ---- libvirt-7.0.0.orig/src/remote/libvirtd.conf.in -+++ libvirt-7.0.0/src/remote/libvirtd.conf.in +--- libvirt-7.1.0.orig/src/remote/libvirtd.conf.in ++++ libvirt-7.1.0/src/remote/libvirtd.conf.in @@ -17,8 +17,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -31,10 +31,10 @@ Index: libvirt-7.0.0/src/remote/libvirtd.conf.in # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the @DAEMON_NAME@ process for this to -Index: libvirt-7.0.0/src/remote/test_libvirtd.aug.in +Index: libvirt-7.1.0/src/remote/test_libvirtd.aug.in =================================================================== ---- libvirt-7.0.0.orig/src/remote/test_libvirtd.aug.in -+++ libvirt-7.0.0/src/remote/test_libvirtd.aug.in +--- libvirt-7.1.0.orig/src/remote/test_libvirtd.aug.in ++++ libvirt-7.1.0/src/remote/test_libvirtd.aug.in @@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ = test @DAEMON_NAME_UC@.lns get conf = diff --git a/suse-libvirtd-sysconfig-settings.patch b/suse-libvirtd-sysconfig-settings.patch index b1f2d72..45aa719 100644 --- a/suse-libvirtd-sysconfig-settings.patch +++ b/suse-libvirtd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-7.0.0/src/remote/libvirtd.sysconf +Index: libvirt-7.1.0/src/remote/libvirtd.sysconf =================================================================== ---- libvirt-7.0.0.orig/src/remote/libvirtd.sysconf -+++ libvirt-7.0.0/src/remote/libvirtd.sysconf +--- libvirt-7.1.0.orig/src/remote/libvirtd.sysconf ++++ libvirt-7.1.0/src/remote/libvirtd.sysconf @@ -1,5 +1,9 @@ +## Path: System/Virtualization/libvirt # Customizations for the libvirtd.service systemd unit diff --git a/suse-libxl-disable-autoballoon.patch b/suse-libxl-disable-autoballoon.patch index 730b4bb..7c0b890 100644 --- a/suse-libxl-disable-autoballoon.patch +++ b/suse-libxl-disable-autoballoon.patch @@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning by default. It can only be enabled with the 'autoballoon' setting in libxl.conf. See jsc#SLE-3059 for more details. -Index: libvirt-7.0.0/src/libxl/libxl.conf +Index: libvirt-7.1.0/src/libxl/libxl.conf =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl.conf -+++ libvirt-7.0.0/src/libxl/libxl.conf +--- libvirt-7.1.0.orig/src/libxl/libxl.conf ++++ libvirt-7.1.0/src/libxl/libxl.conf @@ -4,12 +4,11 @@ # Enable autoballooning of domain0 @@ -27,11 +27,11 @@ Index: libvirt-7.0.0/src/libxl/libxl.conf # In order to prevent accidentally starting two domains that -Index: libvirt-7.0.0/src/libxl/libxl_conf.c +Index: libvirt-7.1.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_conf.c -+++ libvirt-7.0.0/src/libxl/libxl_conf.c -@@ -1744,15 +1744,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa +--- libvirt-7.1.0.orig/src/libxl/libxl_conf.c ++++ libvirt-7.1.0/src/libxl/libxl_conf.c +@@ -1748,15 +1748,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa /* * Get domain0 autoballoon configuration. Honor user-specified * setting in libxl.conf first. If not specified, autoballooning @@ -48,7 +48,7 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c int res; res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon); -@@ -1761,15 +1758,8 @@ libxlGetAutoballoonConf(libxlDriverConfi +@@ -1765,15 +1762,8 @@ libxlGetAutoballoonConf(libxlDriverConfi else if (res == 1) return 0; @@ -66,10 +66,10 @@ Index: libvirt-7.0.0/src/libxl/libxl_conf.c return 0; } -Index: libvirt-7.0.0/src/libxl/test_libvirtd_libxl.aug.in +Index: libvirt-7.1.0/src/libxl/test_libvirtd_libxl.aug.in =================================================================== ---- libvirt-7.0.0.orig/src/libxl/test_libvirtd_libxl.aug.in -+++ libvirt-7.0.0/src/libxl/test_libvirtd_libxl.aug.in +--- libvirt-7.1.0.orig/src/libxl/test_libvirtd_libxl.aug.in ++++ libvirt-7.1.0/src/libxl/test_libvirtd_libxl.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd_libxl = @CONFIG@ diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch index 17f65ba..05a111c 100644 --- a/suse-ovmf-paths.patch +++ b/suse-ovmf-paths.patch @@ -1,9 +1,9 @@ Adjust paths of OVMF firmwares on SUSE distros -Index: libvirt-7.0.0/src/qemu/qemu.conf +Index: libvirt-7.1.0/src/qemu/qemu.conf =================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu.conf -+++ libvirt-7.0.0/src/qemu/qemu.conf +--- libvirt-7.1.0.orig/src/qemu/qemu.conf ++++ libvirt-7.1.0/src/qemu/qemu.conf @@ -858,10 +858,9 @@ # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. @@ -18,10 +18,10 @@ Index: libvirt-7.0.0/src/qemu/qemu.conf #] # The backend to use for handling stdout/stderr output from -Index: libvirt-7.0.0/src/qemu/qemu_conf.c +Index: libvirt-7.1.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_conf.c -+++ libvirt-7.0.0/src/qemu/qemu_conf.c +--- libvirt-7.1.0.orig/src/qemu/qemu_conf.c ++++ libvirt-7.1.0/src/qemu/qemu_conf.c @@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver #ifndef DEFAULT_LOADER_NVRAM @@ -36,11 +36,11 @@ Index: libvirt-7.0.0/src/qemu/qemu_conf.c #endif -Index: libvirt-7.0.0/src/security/virt-aa-helper.c +Index: libvirt-7.1.0/src/security/virt-aa-helper.c =================================================================== ---- libvirt-7.0.0.orig/src/security/virt-aa-helper.c -+++ libvirt-7.0.0/src/security/virt-aa-helper.c -@@ -479,7 +479,8 @@ valid_path(const char *path, const bool +--- libvirt-7.1.0.orig/src/security/virt-aa-helper.c ++++ libvirt-7.1.0/src/security/virt-aa-helper.c +@@ -480,7 +480,8 @@ valid_path(const char *path, const bool "/usr/share/ovmf/", /* for OVMF images */ "/usr/share/AAVMF/", /* for AAVMF images */ "/usr/share/qemu-efi/", /* for AAVMF images */ @@ -50,10 +50,10 @@ Index: libvirt-7.0.0/src/security/virt-aa-helper.c }; /* override the above with these */ const char * const override[] = { -Index: libvirt-7.0.0/src/qemu/test_libvirtd_qemu.aug.in +Index: libvirt-7.1.0/src/qemu/test_libvirtd_qemu.aug.in =================================================================== ---- libvirt-7.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in -+++ libvirt-7.0.0/src/qemu/test_libvirtd_qemu.aug.in +--- libvirt-7.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in ++++ libvirt-7.1.0/src/qemu/test_libvirtd_qemu.aug.in @@ -96,10 +96,9 @@ module Test_libvirtd_qemu = { "migration_port_max" = "49215" } { "log_timestamp" = "0" } diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 5bd489f..2cf5d8c 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-7.0.0/src/qemu/qemu.conf +Index: libvirt-7.1.0/src/qemu/qemu.conf =================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu.conf -+++ libvirt-7.0.0/src/qemu/qemu.conf +--- libvirt-7.1.0.orig/src/qemu/qemu.conf ++++ libvirt-7.1.0/src/qemu/qemu.conf @@ -491,10 +491,19 @@ # isolation, but it cannot appear in a list of drivers. # @@ -60,10 +60,10 @@ Index: libvirt-7.0.0/src/qemu/qemu.conf # #lock_manager = "lockd" -Index: libvirt-7.0.0/src/qemu/qemu_conf.c +Index: libvirt-7.1.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/qemu/qemu_conf.c -+++ libvirt-7.0.0/src/qemu/qemu_conf.c +--- libvirt-7.1.0.orig/src/qemu/qemu_conf.c ++++ libvirt-7.1.0/src/qemu/qemu_conf.c @@ -272,7 +272,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER); cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON); @@ -73,10 +73,10 @@ Index: libvirt-7.0.0/src/qemu/qemu_conf.c cfg->securityRequireConfined = false; cfg->keepAliveInterval = 5; -Index: libvirt-7.0.0/src/qemu/test_libvirtd_qemu.aug.in +Index: libvirt-7.1.0/src/qemu/test_libvirtd_qemu.aug.in =================================================================== ---- libvirt-7.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in -+++ libvirt-7.0.0/src/qemu/test_libvirtd_qemu.aug.in +--- libvirt-7.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in ++++ libvirt-7.1.0/src/qemu/test_libvirtd_qemu.aug.in @@ -45,6 +45,7 @@ module Test_libvirtd_qemu = { "remote_websocket_port_min" = "5700" } { "remote_websocket_port_max" = "65535" } diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch index 91ea87d..d3f155d 100644 --- a/suse-virtlockd-sysconfig-settings.patch +++ b/suse-virtlockd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust virtlockd sysconfig file to conform to SUSE standards -Index: libvirt-7.0.0/src/locking/virtlockd.sysconf +Index: libvirt-7.1.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-7.0.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-7.0.0/src/locking/virtlockd.sysconf +--- libvirt-7.1.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-7.1.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + diff --git a/suse-virtlogd-sysconfig-settings.patch b/suse-virtlogd-sysconfig-settings.patch index 118b8ff..f66cefd 100644 --- a/suse-virtlogd-sysconfig-settings.patch +++ b/suse-virtlogd-sysconfig-settings.patch @@ -1,9 +1,9 @@ Adjust virtlogd sysconfig file to conform to SUSE standards -Index: libvirt-7.0.0/src/logging/virtlogd.sysconf +Index: libvirt-7.1.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-7.0.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-7.0.0/src/logging/virtlogd.sysconf +--- libvirt-7.1.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-7.1.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + diff --git a/suse-xen-ovmf-loaders.patch b/suse-xen-ovmf-loaders.patch index 4790438..f96eb3f 100644 --- a/suse-xen-ovmf-loaders.patch +++ b/suse-xen-ovmf-loaders.patch @@ -5,11 +5,11 @@ upstream support for firmware autoselection in the xen driver. Sadly, the upstream efforts to improve firmware handling in the qemu driver broke the firmware handling in the xen driver. -Index: libvirt-7.0.0/src/libxl/libxl_conf.c +Index: libvirt-7.1.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-7.0.0.orig/src/libxl/libxl_conf.c -+++ libvirt-7.0.0/src/libxl/libxl_conf.c -@@ -1784,6 +1784,15 @@ libxlDriverConfigNew(void) +--- libvirt-7.1.0.orig/src/libxl/libxl_conf.c ++++ libvirt-7.1.0/src/libxl/libxl_conf.c +@@ -1788,6 +1788,15 @@ libxlDriverConfigNew(void) cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR); cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR); diff --git a/virt-create-rootfs.patch b/virt-create-rootfs.patch index 13c73c4..bfbbb85 100644 --- a/virt-create-rootfs.patch +++ b/virt-create-rootfs.patch @@ -1,7 +1,7 @@ -Index: libvirt-7.0.0/tools/virt-create-rootfs +Index: libvirt-7.1.0/tools/virt-create-rootfs =================================================================== --- /dev/null -+++ libvirt-7.0.0/tools/virt-create-rootfs ++++ libvirt-7.1.0/tools/virt-create-rootfs @@ -0,0 +1,231 @@ +#!/bin/sh +set -e @@ -234,10 +234,10 @@ Index: libvirt-7.0.0/tools/virt-create-rootfs + echo "pts/0" >> "$ROOT/etc/securetty" + chroot "$ROOT" /usr/bin/passwd +fi -Index: libvirt-7.0.0/docs/manpages/virt-create-rootfs.rst +Index: libvirt-7.1.0/docs/manpages/virt-create-rootfs.rst =================================================================== --- /dev/null -+++ libvirt-7.0.0/docs/manpages/virt-create-rootfs.rst ++++ libvirt-7.1.0/docs/manpages/virt-create-rootfs.rst @@ -0,0 +1,88 @@ +================== +virt-create-rootfs @@ -327,10 +327,10 @@ Index: libvirt-7.0.0/docs/manpages/virt-create-rootfs.rst +======== + +virsh(1), `https://libvirt.org/ `_ -Index: libvirt-7.0.0/docs/manpages/meson.build +Index: libvirt-7.1.0/docs/manpages/meson.build =================================================================== ---- libvirt-7.0.0.orig/docs/manpages/meson.build -+++ libvirt-7.0.0/docs/manpages/meson.build +--- libvirt-7.1.0.orig/docs/manpages/meson.build ++++ libvirt-7.1.0/docs/manpages/meson.build @@ -19,6 +19,7 @@ docs_man_files = [ { 'name': 'virt-pki-validate', 'section': '1', 'install': true }, { 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') }, @@ -339,10 +339,10 @@ Index: libvirt-7.0.0/docs/manpages/meson.build { 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') }, { 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': conf.has('WITH_SANLOCK') }, -Index: libvirt-7.0.0/tools/meson.build +Index: libvirt-7.1.0/tools/meson.build =================================================================== ---- libvirt-7.0.0.orig/tools/meson.build -+++ libvirt-7.0.0/tools/meson.build +--- libvirt-7.1.0.orig/tools/meson.build ++++ libvirt-7.1.0/tools/meson.build @@ -149,6 +149,8 @@ else virsh_icon_res = [] endif