From f962f3653a9ed2caf11cee9d5fb17a746bff2fb53a15712436f32e58515adc11 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Tue, 2 Jun 2020 20:29:59 +0000 Subject: [PATCH 1/2] Accepting request 810951 from home:jfehlig:branches:Virtualization - Update to libvirt 6.4.0 - Many incremental improvements and bug fixes, see https://libvirt.org/news.html - Dropped patches: d677de9d-libxl-fix-driver-name-check.patch, d218a9c2-libxl-xen-driver-tables.patch, 836ea91d-libxl-xenlight-internal.patch, 57687260-xen-doc-improvements.patch OBS-URL: https://build.opensuse.org/request/show/810951 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=829 --- ...stats-functions-from-the-qemu-driver.patch | 48 +++---- ...ibxl-add-support-for-BlockResize-API.patch | 6 +- ...c-implement-connectGetAllDomainStats.patch | 6 +- 57687260-xen-doc-improvements.patch | 55 -------- 836ea91d-libxl-xenlight-internal.patch | 130 ------------------ d218a9c2-libxl-xen-driver-tables.patch | 58 -------- d677de9d-libxl-fix-driver-name-check.patch | 27 ---- disable-multipath-pr-tests.patch | 8 +- libvirt-6.3.0.tar.xz | 3 - libvirt-6.3.0.tar.xz.asc | 11 -- libvirt-6.4.0.tar.xz | 3 + libvirt-6.4.0.tar.xz.asc | 11 ++ libvirt-power8-models.patch | 6 +- libvirt-suse-netcontrol.patch | 34 ++--- libvirt.changes | 12 ++ libvirt.spec | 10 +- libxl-dom-reset.patch | 6 +- libxl-set-cach-mode.patch | 6 +- libxl-set-migration-constraints.patch | 36 ++--- libxl-support-block-script.patch | 6 +- lxc-wait-after-eth-del.patch | 18 +-- ...e-dhcp-authoritative-on-static-netwo.patch | 14 +- ppc64le-canonical-name.patch | 6 +- qemu-apparmor-screenshot.patch | 6 +- support-managed-pci-xen-driver.patch | 6 +- suse-apparmor-libnl-paths.patch | 12 +- suse-bump-xen-version.patch | 24 ++-- suse-libvirt-guests-service.patch | 12 +- suse-libvirtd-disable-tls.patch | 18 +-- suse-libvirtd-sysconfig-settings.patch | 6 +- suse-libxl-disable-autoballoon.patch | 12 +- suse-ovmf-paths.patch | 20 +-- suse-qemu-conf.patch | 14 +- suse-virtlockd-sysconfig-settings.patch | 6 +- suse-virtlogd-sysconfig-settings.patch | 6 +- suse-xen-ovmf-loaders.patch | 6 +- 36 files changed, 201 insertions(+), 467 deletions(-) delete mode 100644 57687260-xen-doc-improvements.patch delete mode 100644 836ea91d-libxl-xenlight-internal.patch delete mode 100644 d218a9c2-libxl-xen-driver-tables.patch delete mode 100644 d677de9d-libxl-fix-driver-name-check.patch delete mode 100644 libvirt-6.3.0.tar.xz delete mode 100644 libvirt-6.3.0.tar.xz.asc create mode 100644 libvirt-6.4.0.tar.xz create mode 100644 libvirt-6.4.0.tar.xz.asc diff --git a/0001-Extract-stats-functions-from-the-qemu-driver.patch b/0001-Extract-stats-functions-from-the-qemu-driver.patch index 4af8287..75e2d31 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-6.3.0/src/conf/domain_stats.c +Index: libvirt-6.4.0/src/conf/domain_stats.c =================================================================== --- /dev/null -+++ libvirt-6.3.0/src/conf/domain_stats.c ++++ libvirt-6.4.0/src/conf/domain_stats.c @@ -0,0 +1,119 @@ +/* + * domain_stats.c: domain stats extraction helpers @@ -142,10 +142,10 @@ Index: libvirt-6.3.0/src/conf/domain_stats.c +} + +#undef STATS_ADD_NET_PARAM -Index: libvirt-6.3.0/src/conf/domain_stats.h +Index: libvirt-6.4.0/src/conf/domain_stats.h =================================================================== --- /dev/null -+++ libvirt-6.3.0/src/conf/domain_stats.h ++++ libvirt-6.4.0/src/conf/domain_stats.h @@ -0,0 +1,62 @@ +/* + * domain_stats.h: domain stats extraction helpers @@ -209,10 +209,10 @@ Index: libvirt-6.3.0/src/conf/domain_stats.h + virTypedParamListPtr params); + +#endif /* __DOMAIN_STATS_H */ -Index: libvirt-6.3.0/src/libvirt_private.syms +Index: libvirt-6.4.0/src/libvirt_private.syms =================================================================== ---- libvirt-6.3.0.orig/src/libvirt_private.syms -+++ libvirt-6.3.0/src/libvirt_private.syms +--- libvirt-6.4.0.orig/src/libvirt_private.syms ++++ libvirt-6.4.0/src/libvirt_private.syms @@ -732,6 +732,9 @@ virDomainConfNWFilterInstantiate; virDomainConfNWFilterTeardown; virDomainConfVMNWFilterTeardown; @@ -231,10 +231,10 @@ Index: libvirt-6.3.0/src/libvirt_private.syms virCgroupHasController; virCgroupHasEmptyTasks; virCgroupKillPainfully; -Index: libvirt-6.3.0/src/qemu/qemu_driver.c +Index: libvirt-6.4.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/qemu/qemu_driver.c -+++ libvirt-6.3.0/src/qemu/qemu_driver.c +--- libvirt-6.4.0.orig/src/qemu/qemu_driver.c ++++ libvirt-6.4.0/src/qemu/qemu_driver.c @@ -64,6 +64,7 @@ #include "virarptable.h" #include "viruuid.h" @@ -243,7 +243,7 @@ Index: libvirt-6.3.0/src/qemu/qemu_driver.c #include "domain_audit.h" #include "domain_cgroup.h" #include "domain_driver.h" -@@ -20636,13 +20637,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr +@@ -20654,13 +20655,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr virTypedParamListPtr params, unsigned int privflags G_GNUC_UNUSED) { @@ -258,7 +258,7 @@ Index: libvirt-6.3.0/src/qemu/qemu_driver.c } -@@ -20945,17 +20940,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj +@@ -20963,17 +20958,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj if (!priv->cgroup) return 0; @@ -277,7 +277,7 @@ Index: libvirt-6.3.0/src/qemu/qemu_driver.c } -@@ -21123,76 +21108,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr +@@ -21141,76 +21126,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr return ret; } @@ -355,11 +355,11 @@ Index: libvirt-6.3.0/src/qemu/qemu_driver.c /* refresh information by opening images on the disk */ static int -Index: libvirt-6.3.0/src/util/vircgroup.c +Index: libvirt-6.4.0/src/util/vircgroup.c =================================================================== ---- libvirt-6.3.0.orig/src/util/vircgroup.c -+++ libvirt-6.3.0/src/util/vircgroup.c -@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control +--- libvirt-6.4.0.orig/src/util/vircgroup.c ++++ libvirt-6.4.0/src/util/vircgroup.c +@@ -2776,6 +2776,31 @@ virCgroupControllerAvailable(int control return ret; } @@ -391,7 +391,7 @@ Index: libvirt-6.3.0/src/util/vircgroup.c #else /* !__linux__ */ bool -@@ -2788,6 +2813,14 @@ virCgroupAvailable(void) +@@ -2785,6 +2810,14 @@ virCgroupAvailable(void) } @@ -406,10 +406,10 @@ Index: libvirt-6.3.0/src/util/vircgroup.c int virCgroupNewPartition(const char *path G_GNUC_UNUSED, bool create G_GNUC_UNUSED, -Index: libvirt-6.3.0/src/util/vircgroup.h +Index: libvirt-6.4.0/src/util/vircgroup.h =================================================================== ---- libvirt-6.3.0.orig/src/util/vircgroup.h -+++ libvirt-6.3.0/src/util/vircgroup.h +--- libvirt-6.4.0.orig/src/util/vircgroup.h ++++ libvirt-6.4.0/src/util/vircgroup.h @@ -23,6 +23,7 @@ #include "virbitmap.h" @@ -425,10 +425,10 @@ Index: libvirt-6.3.0/src/util/vircgroup.h + +int virCgroupGetStatsCpu(virCgroupPtr cgroup, + virTypedParamListPtr params); -Index: libvirt-6.3.0/src/conf/Makefile.inc.am +Index: libvirt-6.4.0/src/conf/Makefile.inc.am =================================================================== ---- libvirt-6.3.0.orig/src/conf/Makefile.inc.am -+++ libvirt-6.3.0/src/conf/Makefile.inc.am +--- libvirt-6.4.0.orig/src/conf/Makefile.inc.am ++++ libvirt-6.4.0/src/conf/Makefile.inc.am @@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \ conf/domain_audit.h \ conf/domain_nwfilter.c \ diff --git a/0001-libxl-add-support-for-BlockResize-API.patch b/0001-libxl-add-support-for-BlockResize-API.patch index fca8cb5..532cc73 100644 --- a/0001-libxl-add-support-for-BlockResize-API.patch +++ b/0001-libxl-add-support-for-BlockResize-API.patch @@ -19,10 +19,10 @@ reworking this patch and submitting it to upstream libvirt. src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) -Index: libvirt-6.3.0/src/libxl/libxl_driver.c +Index: libvirt-6.4.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_driver.c -+++ libvirt-6.3.0/src/libxl/libxl_driver.c +--- libvirt-6.4.0.orig/src/libxl/libxl_driver.c ++++ libvirt-6.4.0/src/libxl/libxl_driver.c @@ -5287,6 +5287,96 @@ libxlDomainMemoryStats(virDomainPtr dom, #undef LIBXL_SET_MEMSTAT diff --git a/0002-lxc-implement-connectGetAllDomainStats.patch b/0002-lxc-implement-connectGetAllDomainStats.patch index fd96eb1..6023080 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-6.3.0/src/lxc/lxc_driver.c +Index: libvirt-6.4.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/lxc/lxc_driver.c -+++ libvirt-6.3.0/src/lxc/lxc_driver.c +--- libvirt-6.4.0.orig/src/lxc/lxc_driver.c ++++ libvirt-6.4.0/src/lxc/lxc_driver.c @@ -74,6 +74,7 @@ #include "netdev_bandwidth_conf.h" #include "virsocket.h" diff --git a/57687260-xen-doc-improvements.patch b/57687260-xen-doc-improvements.patch deleted file mode 100644 index 2686d79..0000000 --- a/57687260-xen-doc-improvements.patch +++ /dev/null @@ -1,55 +0,0 @@ -commit 5768726093a86028b517975afc6762bf57edbf4a -Author: Jim Fehlig -Date: Mon May 4 15:52:34 2020 -0600 - - docs: Xen improvements - - In formatdomain, using 'libxl' and 'xen' is redundant since they now - both refer to the same driver. 'xen' predates 'libxl' and unambiguously - identifies the Xen hypervisor, so drop the use of 'libxl'. - - In aclpolkit, the connection URI was erroneously identified as 'libxl' - and the name 'xenlight'. Change the URI to 'xen' and driver name to 'Xen'. - - Signed-off-by: Jim Fehlig - Reviewed-by: Daniel P. Berrangé - -Index: libvirt-6.3.0/docs/aclpolkit.html.in -=================================================================== ---- libvirt-6.3.0.orig/docs/aclpolkit.html.in -+++ libvirt-6.3.0/docs/aclpolkit.html.in -@@ -342,8 +342,8 @@ - interface - - -- libxl -- xenlight -+ xen -+ Xen - - - lxc -Index: libvirt-6.3.0/docs/formatdomain.html.in -=================================================================== ---- libvirt-6.3.0.orig/docs/formatdomain.html.in -+++ libvirt-6.3.0/docs/formatdomain.html.in -@@ -2533,8 +2533,8 @@ - The name attribute selects which timer is - being modified, and can be one of - "platform" (currently unsupported), -- "hpet" (libxl, xen, qemu, lxc), "kvmclock" (qemu), -- "pit" (qemu), "rtc" (qemu, lxc), "tsc" (libxl, qemu - -+ "hpet" (xen, qemu, lxc), "kvmclock" (qemu), -+ "pit" (qemu), "rtc" (qemu, lxc), "tsc" (xen, qemu - - since 3.2.0), "hypervclock" - (qemu - since 1.2.2) or - "armvtimer" (qemu - since 6.1.0). -@@ -7518,7 +7518,7 @@ qemu-kvm -net nic,model=? /dev/null -

- You can provide the amount of video memory in kibibytes (blocks of - 1024 bytes) using vram. This is supported only for guest -- type of "libxl", "vz", "qemu", "vbox", "vmx" and "xen". If no -+ type of "vz", "qemu", "vbox", "vmx" and "xen". If no - value is provided the default is used. If the size is not a power of - two it will be rounded to closest one. -

diff --git a/836ea91d-libxl-xenlight-internal.patch b/836ea91d-libxl-xenlight-internal.patch deleted file mode 100644 index 621926a..0000000 --- a/836ea91d-libxl-xenlight-internal.patch +++ /dev/null @@ -1,130 +0,0 @@ -commit 836ea91d4ed174f2bb65ef894a8d6daf0675e743 -Author: Jim Fehlig -Date: Mon May 4 15:20:37 2020 -0600 - - libxl: Clarify that 'xenlight' should only be used internally - - The libxl driver has suffered an identity crisis since its introduction. - It took on the name 'libxl' since at the time libvirt already contained - a 'xen' driver for the old Xen toolstack implementation. 'libxl' is short - for libxenlight, which is often called xenlight. Unfortunately all forms - of the name are used in the libxl driver. - - The only remaining use of the 'xenlight' form is when interacting with - the host device manager, which is difficult to change since it would - cause problems when upgrading the driver. - - Rename the #define to make it clear the 'xenlight' form is internal and - add a comment describing why the name exists and that its use should be - discouraged. - - Signed-off-by: Jim Fehlig - Reviewed-by: Daniel P. Berrangé - -Index: libvirt-6.3.0/src/libxl/libxl_conf.h -=================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.h -+++ libvirt-6.3.0/src/libxl/libxl_conf.h -@@ -39,7 +39,12 @@ - #include "libxl_logger.h" - - #define LIBXL_DRIVER_EXTERNAL_NAME "Xen" --#define LIBXL_DRIVER_NAME "xenlight" -+/* -+ * We are stuck with the 'xenlight' name since it is used by the hostdev -+ * manager. Changing it would break management of any host devices previously -+ * managed under the name 'xenlight'. -+ */ -+#define LIBXL_DRIVER_INTERNAL_NAME "xenlight" - #define LIBXL_VNC_PORT_MIN 5900 - #define LIBXL_VNC_PORT_MAX 65535 - -Index: libvirt-6.3.0/src/libxl/libxl_domain.c -=================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_domain.c -+++ libvirt-6.3.0/src/libxl/libxl_domain.c -@@ -873,7 +873,7 @@ libxlDomainCleanup(libxlDriverPrivatePtr - VIR_FREE(xml); - } - -- virHostdevReAttachDomainDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ virHostdevReAttachDomainDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def, hostdev_flags, NULL); - - VIR_FREE(priv->lockState); -@@ -1370,7 +1370,7 @@ libxlDomainStart(libxlDriverPrivatePtr d - if (cfg->autoballoon && libxlDomainFreeMem(cfg->ctx, &d_config) < 0) - goto cleanup_dom; - -- if (virHostdevPrepareDomainDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ if (virHostdevPrepareDomainDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def, hostdev_flags) < 0) - goto cleanup_dom; - -Index: libvirt-6.3.0/src/libxl/libxl_driver.c -=================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_driver.c -+++ libvirt-6.3.0/src/libxl/libxl_driver.c -@@ -431,7 +431,7 @@ libxlReconnectDomain(virDomainObjPtr vm, - libxlLoggerOpenFile(cfg->logger, vm->def->id, vm->def->name, NULL); - - /* Update hostdev state */ -- if (virHostdevUpdateActiveDomainDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ if (virHostdevUpdateActiveDomainDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def, hostdev_flags) < 0) - goto error; - -@@ -3127,7 +3127,7 @@ libxlDomainAttachHostPCIDevice(libxlDriv - if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs + 1) < 0) - goto cleanup; - -- if (virHostdevPreparePCIDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ if (virHostdevPreparePCIDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, vm->def->uuid, - &hostdev, 1, 0) < 0) - goto cleanup; -@@ -3149,7 +3149,7 @@ libxlDomainAttachHostPCIDevice(libxlDriv - goto cleanup; - - error: -- virHostdevReAttachPCIDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ virHostdevReAttachPCIDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, &hostdev, 1, NULL); - - cleanup: -@@ -3264,7 +3264,7 @@ libxlDomainAttachHostUSBDevice(libxlDriv - if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs + 1) < 0) - goto cleanup; - -- if (virHostdevPrepareUSBDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ if (virHostdevPrepareUSBDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, &hostdev, 1, 0) < 0) - goto cleanup; - -@@ -3284,7 +3284,7 @@ libxlDomainAttachHostUSBDevice(libxlDriv - goto cleanup; - - reattach: -- virHostdevReAttachUSBDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ virHostdevReAttachUSBDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, &hostdev, 1); - - cleanup: -@@ -3689,7 +3689,7 @@ libxlDomainDetachHostPCIDevice(libxlDriv - - virDomainHostdevRemove(vm->def, idx); - -- virHostdevReAttachPCIDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ virHostdevReAttachPCIDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, &hostdev, 1, NULL); - - ret = 0; -@@ -3811,7 +3811,7 @@ libxlDomainDetachHostUSBDevice(libxlDriv - - virDomainHostdevRemove(vm->def, idx); - -- virHostdevReAttachUSBDevices(hostdev_mgr, LIBXL_DRIVER_NAME, -+ virHostdevReAttachUSBDevices(hostdev_mgr, LIBXL_DRIVER_INTERNAL_NAME, - vm->def->name, &hostdev, 1); - - ret = 0; diff --git a/d218a9c2-libxl-xen-driver-tables.patch b/d218a9c2-libxl-xen-driver-tables.patch deleted file mode 100644 index 2393f80..0000000 --- a/d218a9c2-libxl-xen-driver-tables.patch +++ /dev/null @@ -1,58 +0,0 @@ -commit d218a9c263190681aa8ee7f0ec5f3c298339d635 -Author: Jim Fehlig -Date: Mon May 4 14:51:32 2020 -0600 - - libxl: Use the name 'Xen' in driver tables - - The libxl driver declares its name as 'Xen' through the public - virConnectGetType() API. In the virHypervisorDriver table the name is - set to 'xenlight'. To add more confusion, the name is set to 'LIBXL' - in the virStateDriver. For consistency, use the same name in the driver - tables as reported in the public virConnectGetType() API. - - Signed-off-by: Jim Fehlig - Reviewed-by: Daniel P. Berrangé - -Index: libvirt-6.3.0/src/libxl/libxl_conf.h -=================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.h -+++ libvirt-6.3.0/src/libxl/libxl_conf.h -@@ -38,6 +38,7 @@ - #include "libxl_capabilities.h" - #include "libxl_logger.h" - -+#define LIBXL_DRIVER_EXTERNAL_NAME "Xen" - #define LIBXL_DRIVER_NAME "xenlight" - #define LIBXL_VNC_PORT_MIN 5900 - #define LIBXL_VNC_PORT_MAX 65535 -Index: libvirt-6.3.0/src/libxl/libxl_driver.c -=================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_driver.c -+++ libvirt-6.3.0/src/libxl/libxl_driver.c -@@ -911,7 +911,7 @@ libxlConnectGetType(virConnectPtr conn) - if (virConnectGetTypeEnsureACL(conn) < 0) - return NULL; - -- return "Xen"; -+ return LIBXL_DRIVER_EXTERNAL_NAME; - } - - static int -@@ -6608,7 +6608,7 @@ libxlDomainGetMetadata(virDomainPtr dom, - } - - static virHypervisorDriver libxlHypervisorDriver = { -- .name = LIBXL_DRIVER_NAME, -+ .name = LIBXL_DRIVER_EXTERNAL_NAME, - .connectURIProbe = libxlConnectURIProbe, - .connectOpen = libxlConnectOpen, /* 0.9.0 */ - .connectClose = libxlConnectClose, /* 0.9.0 */ -@@ -6732,7 +6732,7 @@ static virConnectDriver libxlConnectDriv - }; - - static virStateDriver libxlStateDriver = { -- .name = "LIBXL", -+ .name = LIBXL_DRIVER_EXTERNAL_NAME, - .stateInitialize = libxlStateInitialize, - .stateCleanup = libxlStateCleanup, - .stateReload = libxlStateReload, diff --git a/d677de9d-libxl-fix-driver-name-check.patch b/d677de9d-libxl-fix-driver-name-check.patch deleted file mode 100644 index e6a7544..0000000 --- a/d677de9d-libxl-fix-driver-name-check.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit d677de9d567e3e87be295b91723457b461345caa -Author: Daniel P. Berrangé -Date: Mon May 4 17:41:46 2020 +0100 - - remote: fix driver name check for libxl driver - - The virConnectGetType() returns "Xen" for libxl, not "LIBXL". - - This prevents users opening a connection to the libxl driver when using - the modular daemons. - - Reviewed-by: Jim Fehlig - Signed-off-by: Daniel P. Berrangé - -Index: libvirt-6.3.0/src/remote/remote_daemon_dispatch.c -=================================================================== ---- libvirt-6.3.0.orig/src/remote/remote_daemon_dispatch.c -+++ libvirt-6.3.0/src/remote/remote_daemon_dispatch.c -@@ -2111,7 +2111,7 @@ remoteDispatchConnectOpen(virNetServerPt - - VIR_DEBUG("Primary driver type is '%s'", type); - if (STREQ(type, "QEMU") || -- STREQ(type, "LIBXL") || -+ STREQ(type, "Xen") || - STREQ(type, "LXC") || - STREQ(type, "VBOX") || - STREQ(type, "bhyve") || diff --git a/disable-multipath-pr-tests.patch b/disable-multipath-pr-tests.patch index 335f322..95da672 100644 --- a/disable-multipath-pr-tests.patch +++ b/disable-multipath-pr-tests.patch @@ -3,10 +3,10 @@ tests: temporarily disable the new multipath PR tests The new multipath PR tests are failing in a build root env. Disable them for now until discussing a solution with upstream. -Index: libvirt-6.3.0/tests/qemuhotplugtest.c +Index: libvirt-6.4.0/tests/qemuhotplugtest.c =================================================================== ---- libvirt-6.3.0.orig/tests/qemuhotplugtest.c -+++ libvirt-6.3.0/tests/qemuhotplugtest.c +--- libvirt-6.4.0.orig/tests/qemuhotplugtest.c ++++ libvirt-6.4.0/tests/qemuhotplugtest.c @@ -87,8 +87,6 @@ qemuHotplugCreateObjects(virDomainXMLOpt virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VNC); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE); @@ -16,7 +16,7 @@ Index: libvirt-6.3.0/tests/qemuhotplugtest.c if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0) return -1; -@@ -755,17 +753,6 @@ mymain(void) +@@ -760,17 +758,6 @@ mymain(void) "device_del", QMP_DEVICE_DELETED("scsi3-0-5-6") QMP_OK, "human-monitor-command", HMP("")); diff --git a/libvirt-6.3.0.tar.xz b/libvirt-6.3.0.tar.xz deleted file mode 100644 index a8f5ec4..0000000 --- a/libvirt-6.3.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:74069438d34082336e99a88146349e21130552b96efc3b7c562f6878127996f5 -size 8442636 diff --git a/libvirt-6.3.0.tar.xz.asc b/libvirt-6.3.0.tar.xz.asc deleted file mode 100644 index 50c2047..0000000 --- a/libvirt-6.3.0.tar.xz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl6xDD0ACgkQFViLJllr -6l01XQf/Rrt1ueDNLZEg/e8l42gKyoiC7lIZndYRGqpF0+P7CfWKRQAXktckuNdJ -kVgP6lPl/pFZmsWUsYvb3GolB4OXIfavTgJx1LM+ku5Qa4RPJf8b9O9nikyisbrf -xZe4HM+Z/DQ5ia9gt5/OrVg/uU2NW6bBsktPnRutfUbGP1lGY5a6crNFdSo2nYoy -QbeRPUU8dDy1UCKOpl+Xm6EHbukq0Zj/nW+xRn+kiXQcMs46OfDHCU8J2mpmtJxC -HJEHUZgZ2OymyzITtpg0CecfCixPVle2H+8zd8YOFpqx/IfL4WaNJgy1f4fjBFy9 -FgWXzzAwc80Cf4pMJzBZMynxNdfmRA== -=kmvm ------END PGP SIGNATURE----- diff --git a/libvirt-6.4.0.tar.xz b/libvirt-6.4.0.tar.xz new file mode 100644 index 0000000..7833e39 --- /dev/null +++ b/libvirt-6.4.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:586ebcf220369d08a07c6cc17035e8a91bb3741e4300199459904e9e02478be7 +size 8398396 diff --git a/libvirt-6.4.0.tar.xz.asc b/libvirt-6.4.0.tar.xz.asc new file mode 100644 index 0000000..51b59e1 --- /dev/null +++ b/libvirt-6.4.0.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl7WDl4ACgkQFViLJllr +6l1HGggAwbu7umE2jt5pP4EXQDKXF++LxbJI4K3nlU5tvN5FVHltk2jP5ijwxSuH +iYwVzXy+BjaLgVkK7CoZMQYke4ZGB8VvObJyHP07Q9aB57Na5lq8ok34Od7bt0E3 +CKfAw5L8iYfVyPElabJTlCpJej8zn094u7Tc0nROu6t8Z+9zpxBNCVJZwyXtYa51 +yDfNoIAxk9o5W5wHeWJU+NPWkioqvu5mRUE4gj3Q3ntlu6r/zBlzkeW0c2EzumtT +Nby2xVnI/dGSinsDmY+Rjxl/hA6A3/JJDbM7oa71BSfo3fyA+Xa4WUp6NZ7nV6y/ +nwewJq18XQtCI9Jlmlj0tEC/THAvNA== +=gR3a +-----END PGP SIGNATURE----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 9d09698..1368187 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-6.3.0/src/cpu_map/ppc64_POWER8.xml +Index: libvirt-6.4.0/src/cpu_map/ppc64_POWER8.xml =================================================================== ---- libvirt-6.3.0.orig/src/cpu_map/ppc64_POWER8.xml -+++ libvirt-6.3.0/src/cpu_map/ppc64_POWER8.xml +--- libvirt-6.4.0.orig/src/cpu_map/ppc64_POWER8.xml ++++ libvirt-6.4.0/src/cpu_map/ppc64_POWER8.xml @@ -4,5 +4,7 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index e81174c..20a8fec 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-6.3.0/configure.ac +Index: libvirt-6.4.0/configure.ac =================================================================== ---- libvirt-6.3.0.orig/configure.ac -+++ libvirt-6.3.0/configure.ac +--- libvirt-6.4.0.orig/configure.ac ++++ libvirt-6.4.0/configure.ac @@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH LIBVIRT_ARG_LIBXML LIBVIRT_ARG_MACVTAP @@ -26,10 +26,10 @@ Index: libvirt-6.3.0/configure.ac LIBVIRT_RESULT_NLS LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NUMACTL -Index: libvirt-6.3.0/tools/virsh.c +Index: libvirt-6.4.0/tools/virsh.c =================================================================== ---- libvirt-6.3.0.orig/tools/virsh.c -+++ libvirt-6.3.0/tools/virsh.c +--- libvirt-6.4.0.orig/tools/virsh.c ++++ libvirt-6.4.0/tools/virsh.c @@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_ vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -39,10 +39,10 @@ Index: libvirt-6.3.0/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-6.3.0/src/interface/interface_backend_netcf.c +Index: libvirt-6.4.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-6.3.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-6.3.0/src/interface/interface_backend_netcf.c +--- libvirt-6.4.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-6.4.0/src/interface/interface_backend_netcf.c @@ -21,7 +21,12 @@ #include @@ -154,10 +154,10 @@ Index: libvirt-6.3.0/src/interface/interface_backend_netcf.c if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0) return -1; if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) -Index: libvirt-6.3.0/src/interface/interface_driver.c +Index: libvirt-6.4.0/src/interface/interface_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/interface/interface_driver.c -+++ libvirt-6.3.0/src/interface/interface_driver.c +--- libvirt-6.4.0.orig/src/interface/interface_driver.c ++++ libvirt-6.4.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -175,10 +175,10 @@ Index: libvirt-6.3.0/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-6.3.0/m4/virt-netcontrol.m4 +Index: libvirt-6.4.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-6.3.0/m4/virt-netcontrol.m4 ++++ libvirt-6.4.0/m4/virt-netcontrol.m4 @@ -0,0 +1,39 @@ +dnl The libnetcontrol library +dnl @@ -219,10 +219,10 @@ Index: libvirt-6.3.0/m4/virt-netcontrol.m4 +AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[ + LIBVIRT_RESULT_LIB([NETCONTROL]) +]) -Index: libvirt-6.3.0/src/interface/Makefile.inc.am +Index: libvirt-6.4.0/src/interface/Makefile.inc.am =================================================================== ---- libvirt-6.3.0.orig/src/interface/Makefile.inc.am -+++ libvirt-6.3.0/src/interface/Makefile.inc.am +--- libvirt-6.4.0.orig/src/interface/Makefile.inc.am ++++ libvirt-6.4.0/src/interface/Makefile.inc.am @@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \ $(NULL) diff --git a/libvirt.changes b/libvirt.changes index 3156331..6bb0d70 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Jun 2 15:16:15 UTC 2020 - James Fehlig + +- Update to libvirt 6.4.0 + - Many incremental improvements and bug fixes, see + https://libvirt.org/news.html + - Dropped patches: + d677de9d-libxl-fix-driver-name-check.patch, + d218a9c2-libxl-xen-driver-tables.patch, + 836ea91d-libxl-xenlight-internal.patch, + 57687260-xen-doc-improvements.patch + ------------------------------------------------------------------- Wed May 6 20:43:16 UTC 2020 - James Fehlig diff --git a/libvirt.spec b/libvirt.spec index 7876676..53c7399 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -185,7 +185,7 @@ Name: libvirt URL: http://libvirt.org/ -Version: 6.3.0 +Version: 6.4.0 Release: 0 Summary: Library providing a virtualization API License: LGPL-2.1-or-later @@ -338,10 +338,6 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: d677de9d-libxl-fix-driver-name-check.patch -Patch1: d218a9c2-libxl-xen-driver-tables.patch -Patch2: 836ea91d-libxl-xenlight-internal.patch -Patch3: 57687260-xen-doc-improvements.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -877,10 +873,6 @@ libvirt plugin for NSS for translating domain names into IP addresses. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1 diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 1c5d34f..e4eda01 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-6.3.0/src/libxl/libxl_driver.c +Index: libvirt-6.4.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_driver.c -+++ libvirt-6.3.0/src/libxl/libxl_driver.c +--- libvirt-6.4.0.orig/src/libxl/libxl_driver.c ++++ libvirt-6.4.0/src/libxl/libxl_driver.c @@ -1371,6 +1371,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index adc2e2a..e0eeb31 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-6.3.0/src/libxl/libxl_conf.c +Index: libvirt-6.4.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.c -+++ libvirt-6.3.0/src/libxl/libxl_conf.c +--- libvirt-6.4.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.4.0/src/libxl/libxl_conf.c @@ -905,6 +905,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index 6cf8fa1..892b010 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-6.3.0/include/libvirt/libvirt-domain.h +Index: libvirt-6.4.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-6.3.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-6.3.0/include/libvirt/libvirt-domain.h +--- libvirt-6.4.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-6.4.0/include/libvirt/libvirt-domain.h @@ -1065,6 +1065,31 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination" @@ -52,10 +52,10 @@ Index: libvirt-6.3.0/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-6.3.0/src/libxl/libxl_driver.c +Index: libvirt-6.4.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_driver.c -+++ libvirt-6.3.0/src/libxl/libxl_driver.c +--- libvirt-6.4.0.orig/src/libxl/libxl_driver.c ++++ libvirt-6.4.0/src/libxl/libxl_driver.c @@ -6196,6 +6196,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; @@ -99,10 +99,10 @@ Index: libvirt-6.3.0/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-6.3.0/src/libxl/libxl_migration.c +Index: libvirt-6.4.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_migration.c -+++ libvirt-6.3.0/src/libxl/libxl_migration.c +--- libvirt-6.4.0.orig/src/libxl/libxl_migration.c ++++ libvirt-6.4.0/src/libxl/libxl_migration.c @@ -345,18 +345,39 @@ libxlMigrateDstReceive(virNetSocketPtr s static int libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, @@ -264,10 +264,10 @@ Index: libvirt-6.3.0/src/libxl/libxl_migration.c virObjectLock(vm); if (ret == 0) { -Index: libvirt-6.3.0/src/libxl/libxl_migration.h +Index: libvirt-6.4.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_migration.h -+++ libvirt-6.3.0/src/libxl/libxl_migration.h +--- libvirt-6.4.0.orig/src/libxl/libxl_migration.h ++++ libvirt-6.4.0/src/libxl/libxl_migration.h @@ -35,6 +35,10 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -312,10 +312,10 @@ Index: libvirt-6.3.0/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationDstFinish(virConnectPtr dconn, -Index: libvirt-6.3.0/tools/virsh-domain.c +Index: libvirt-6.4.0/tools/virsh-domain.c =================================================================== ---- libvirt-6.3.0.orig/tools/virsh-domain.c -+++ libvirt-6.3.0/tools/virsh-domain.c +--- libvirt-6.4.0.orig/tools/virsh-domain.c ++++ libvirt-6.4.0/tools/virsh-domain.c @@ -10721,6 +10721,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_STRING, .help = N_("override the destination host name used for TLS verification") @@ -375,10 +375,10 @@ Index: libvirt-6.3.0/tools/virsh-domain.c if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-6.3.0/docs/manpages/virsh.rst +Index: libvirt-6.4.0/docs/manpages/virsh.rst =================================================================== ---- libvirt-6.3.0.orig/docs/manpages/virsh.rst -+++ libvirt-6.3.0/docs/manpages/virsh.rst +--- libvirt-6.4.0.orig/docs/manpages/virsh.rst ++++ libvirt-6.4.0/docs/manpages/virsh.rst @@ -3093,6 +3093,8 @@ migrate [--postcopy-bandwidth bandwidth] [--parallel [--parallel-connections connections]] diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index a60971e..15d4860 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-6.3.0/src/libxl/libxl_conf.c +Index: libvirt-6.4.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.c -+++ libvirt-6.3.0/src/libxl/libxl_conf.c +--- libvirt-6.4.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.4.0/src/libxl/libxl_conf.c @@ -905,6 +905,22 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index 829b094..5d869e7 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-6.3.0/src/lxc/lxc_controller.c +Index: libvirt-6.4.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-6.3.0.orig/src/lxc/lxc_controller.c -+++ libvirt-6.3.0/src/lxc/lxc_controller.c +--- libvirt-6.4.0.orig/src/lxc/lxc_controller.c ++++ libvirt-6.4.0/src/lxc/lxc_controller.c @@ -2056,6 +2056,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; @@ -25,10 +25,10 @@ Index: libvirt-6.3.0/src/lxc/lxc_controller.c return ret; } -Index: libvirt-6.3.0/src/lxc/lxc_driver.c +Index: libvirt-6.4.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/lxc/lxc_driver.c -+++ libvirt-6.3.0/src/lxc/lxc_driver.c +--- libvirt-6.4.0.orig/src/lxc/lxc_driver.c ++++ libvirt-6.4.0/src/lxc/lxc_driver.c @@ -67,6 +67,7 @@ #include "virtime.h" #include "virtypedparam.h" @@ -53,10 +53,10 @@ Index: libvirt-6.3.0/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-6.3.0/src/lxc/lxc_process.c +Index: libvirt-6.4.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-6.3.0.orig/src/lxc/lxc_process.c -+++ libvirt-6.3.0/src/lxc/lxc_process.c +--- libvirt-6.4.0.orig/src/lxc/lxc_process.c ++++ libvirt-6.4.0/src/lxc/lxc_process.c @@ -50,6 +50,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 a8b7f3b..784c01c 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) -Index: libvirt-6.3.0/src/network/bridge_driver.c +Index: libvirt-6.4.0/src/network/bridge_driver.c =================================================================== ---- libvirt-6.3.0.orig/src/network/bridge_driver.c -+++ libvirt-6.3.0/src/network/bridge_driver.c -@@ -1476,7 +1476,14 @@ networkDnsmasqConfContents(virNetworkObj +--- libvirt-6.4.0.orig/src/network/bridge_driver.c ++++ libvirt-6.4.0/src/network/bridge_driver.c +@@ -1478,7 +1478,14 @@ networkDnsmasqConfContents(virNetworkObj if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (ipdef->nranges || ipdef->nhosts) { virBufferAddLit(&configbuf, "dhcp-no-override\n"); @@ -37,10 +37,10 @@ Index: libvirt-6.3.0/src/network/bridge_driver.c } if (ipdef->tftproot) { -Index: libvirt-6.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +Index: libvirt-6.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf =================================================================== ---- libvirt-6.3.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf -+++ libvirt-6.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +--- libvirt-6.4.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf ++++ libvirt-6.4.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 8efa992..65da6a6 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-6.3.0/src/util/virarch.c +Index: libvirt-6.4.0/src/util/virarch.c =================================================================== ---- libvirt-6.3.0.orig/src/util/virarch.c -+++ libvirt-6.3.0/src/util/virarch.c +--- libvirt-6.4.0.orig/src/util/virarch.c ++++ libvirt-6.4.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 4334eab..2ce243e 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-6.3.0/src/security/apparmor/libvirt-qemu +Index: libvirt-6.4.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-6.3.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-6.3.0/src/security/apparmor/libvirt-qemu +--- libvirt-6.4.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-6.4.0/src/security/apparmor/libvirt-qemu @@ -233,3 +233,6 @@ # /sys/bus/nd/devices / r, # harmless on any lsb compliant system diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 91bba9e..bd6a078 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-6.3.0/src/libxl/xen_common.c +Index: libvirt-6.4.0/src/libxl/xen_common.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/xen_common.c -+++ libvirt-6.3.0/src/libxl/xen_common.c +--- libvirt-6.4.0.orig/src/libxl/xen_common.c ++++ libvirt-6.4.0/src/libxl/xen_common.c @@ -381,12 +381,19 @@ xenParsePCI(char *entry) int busID; int slotID; diff --git a/suse-apparmor-libnl-paths.patch b/suse-apparmor-libnl-paths.patch index f587c26..f1214bc 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-6.3.0/src/security/apparmor/libvirt-qemu +Index: libvirt-6.4.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-6.3.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-6.3.0/src/security/apparmor/libvirt-qemu +--- libvirt-6.4.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-6.4.0/src/security/apparmor/libvirt-qemu @@ -61,6 +61,7 @@ #/dev/fb* rw, @@ -20,10 +20,10 @@ Index: libvirt-6.3.0/src/security/apparmor/libvirt-qemu @{HOME}/.pulse-cookie rwk, owner /root/.pulse-cookie rwk, owner /root/.pulse/ rw, -Index: libvirt-6.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-6.4.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== ---- libvirt-6.3.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in -+++ libvirt-6.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +--- libvirt-6.4.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-6.4.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 32af112..d1010df 100644 --- a/suse-bump-xen-version.patch +++ b/suse-bump-xen-version.patch @@ -9,10 +9,10 @@ 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-6.3.0/m4/virt-driver-libxl.m4 +Index: libvirt-6.4.0/m4/virt-driver-libxl.m4 =================================================================== ---- libvirt-6.3.0.orig/m4/virt-driver-libxl.m4 -+++ libvirt-6.3.0/m4/virt-driver-libxl.m4 +--- libvirt-6.4.0.orig/m4/virt-driver-libxl.m4 ++++ libvirt-6.4.0/m4/virt-driver-libxl.m4 @@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [ LIBXL_CFLAGS="" LIBXL_FIRMWARE_DIR="" @@ -27,10 +27,10 @@ Index: libvirt-6.3.0/m4/virt-driver-libxl.m4 if test "x$with_libxl" = "xyes" ; then LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight) LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight) -Index: libvirt-6.3.0/src/libxl/libxl_conf.c +Index: libvirt-6.4.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.c -+++ libvirt-6.3.0/src/libxl/libxl_conf.c +--- libvirt-6.4.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.4.0/src/libxl/libxl_conf.c @@ -1823,7 +1823,7 @@ libxlDriverConfigNew(void) int libxlDriverConfigInit(libxlDriverConfigPtr cfg) @@ -40,10 +40,10 @@ Index: libvirt-6.3.0/src/libxl/libxl_conf.c if (virFileMakePath(cfg->logDir) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, -Index: libvirt-6.3.0/src/libxl/libxl_domain.c +Index: libvirt-6.4.0/src/libxl/libxl_domain.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_domain.c -+++ libvirt-6.3.0/src/libxl/libxl_domain.c +--- libvirt-6.4.0.orig/src/libxl/libxl_domain.c ++++ libvirt-6.4.0/src/libxl/libxl_domain.c @@ -1020,8 +1020,8 @@ libxlDomainSetVcpuAffinities(libxlDriver static int libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config) @@ -64,10 +64,10 @@ Index: libvirt-6.3.0/src/libxl/libxl_domain.c &aop_console_how); libxl_domain_restore_params_dispose(¶ms); } -Index: libvirt-6.3.0/tests/libxlmock.c +Index: libvirt-6.4.0/tests/libxlmock.c =================================================================== ---- libvirt-6.3.0.orig/tests/libxlmock.c -+++ libvirt-6.3.0/tests/libxlmock.c +--- libvirt-6.4.0.orig/tests/libxlmock.c ++++ libvirt-6.4.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, diff --git a/suse-libvirt-guests-service.patch b/suse-libvirt-guests-service.patch index f5ffcff..a4a1233 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-6.3.0/tools/libvirt-guests.sh.in +Index: libvirt-6.4.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-6.3.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-6.3.0/tools/libvirt-guests.sh.in +--- libvirt-6.4.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-6.4.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -163,10 +163,10 @@ Index: libvirt-6.3.0/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-6.3.0/tools/libvirt-guests.sysconf +Index: libvirt-6.4.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-6.3.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-6.3.0/tools/libvirt-guests.sysconf +--- libvirt-6.4.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-6.4.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 32f1787..7310ac5 100644 --- a/suse-libvirtd-disable-tls.patch +++ b/suse-libvirtd-disable-tls.patch @@ -3,23 +3,23 @@ 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-6.3.0/src/remote/remote_daemon_config.c +Index: libvirt-6.4.0/src/remote/remote_daemon_config.c =================================================================== ---- libvirt-6.3.0.orig/src/remote/remote_daemon_config.c -+++ libvirt-6.3.0/src/remote/remote_daemon_config.c +--- libvirt-6.4.0.orig/src/remote/remote_daemon_config.c ++++ libvirt-6.4.0/src/remote/remote_daemon_config.c @@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U #ifdef WITH_IP # ifdef LIBVIRTD -- data->listen_tls = 1; /* Only honoured if --listen is set */ -+ data->listen_tls = 0; /* Only honoured if --listen is set */ +- data->listen_tls = true; /* Only honoured if --listen is set */ ++ data->listen_tls = false; /* Only honoured if --listen is set */ # else /* ! LIBVIRTD */ - data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */ + data->listen_tls = false; /* Always honoured, --listen doesn't exist. */ # endif /* ! LIBVIRTD */ -Index: libvirt-6.3.0/src/remote/libvirtd.conf.in +Index: libvirt-6.4.0/src/remote/libvirtd.conf.in =================================================================== ---- libvirt-6.3.0.orig/src/remote/libvirtd.conf.in -+++ libvirt-6.3.0/src/remote/libvirtd.conf.in +--- libvirt-6.4.0.orig/src/remote/libvirtd.conf.in ++++ libvirt-6.4.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. diff --git a/suse-libvirtd-sysconfig-settings.patch b/suse-libvirtd-sysconfig-settings.patch index b554fa7..b28a3a9 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-6.3.0/src/remote/libvirtd.sysconf +Index: libvirt-6.4.0/src/remote/libvirtd.sysconf =================================================================== ---- libvirt-6.3.0.orig/src/remote/libvirtd.sysconf -+++ libvirt-6.3.0/src/remote/libvirtd.sysconf +--- libvirt-6.4.0.orig/src/remote/libvirtd.sysconf ++++ libvirt-6.4.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 982d23b..81641f8 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-6.3.0/src/libxl/libxl.conf +Index: libvirt-6.4.0/src/libxl/libxl.conf =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl.conf -+++ libvirt-6.3.0/src/libxl/libxl.conf +--- libvirt-6.4.0.orig/src/libxl/libxl.conf ++++ libvirt-6.4.0/src/libxl/libxl.conf @@ -4,12 +4,11 @@ # Enable autoballooning of domain0 @@ -27,10 +27,10 @@ Index: libvirt-6.3.0/src/libxl/libxl.conf # In order to prevent accidentally starting two domains that -Index: libvirt-6.3.0/src/libxl/libxl_conf.c +Index: libvirt-6.4.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.c -+++ libvirt-6.3.0/src/libxl/libxl_conf.c +--- libvirt-6.4.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.4.0/src/libxl/libxl_conf.c @@ -1737,15 +1737,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa /* * Get domain0 autoballoon configuration. Honor user-specified diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch index b6846f4..00241e5 100644 --- a/suse-ovmf-paths.patch +++ b/suse-ovmf-paths.patch @@ -1,10 +1,10 @@ Adjust paths of OVMF firmwares on SUSE distros -Index: libvirt-6.3.0/src/qemu/qemu.conf +Index: libvirt-6.4.0/src/qemu/qemu.conf =================================================================== ---- libvirt-6.3.0.orig/src/qemu/qemu.conf -+++ libvirt-6.3.0/src/qemu/qemu.conf -@@ -788,10 +788,9 @@ +--- libvirt-6.4.0.orig/src/qemu/qemu.conf ++++ libvirt-6.4.0/src/qemu/qemu.conf +@@ -787,10 +787,9 @@ # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. #nvram = [ @@ -18,10 +18,10 @@ Index: libvirt-6.3.0/src/qemu/qemu.conf #] # The backend to use for handling stdout/stderr output from -Index: libvirt-6.3.0/src/qemu/qemu_conf.c +Index: libvirt-6.4.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/qemu/qemu_conf.c -+++ libvirt-6.3.0/src/qemu/qemu_conf.c +--- libvirt-6.4.0.orig/src/qemu/qemu_conf.c ++++ libvirt-6.4.0/src/qemu/qemu_conf.c @@ -96,10 +96,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver #ifndef DEFAULT_LOADER_NVRAM @@ -36,10 +36,10 @@ Index: libvirt-6.3.0/src/qemu/qemu_conf.c #endif -Index: libvirt-6.3.0/src/security/virt-aa-helper.c +Index: libvirt-6.4.0/src/security/virt-aa-helper.c =================================================================== ---- libvirt-6.3.0.orig/src/security/virt-aa-helper.c -+++ libvirt-6.3.0/src/security/virt-aa-helper.c +--- libvirt-6.4.0.orig/src/security/virt-aa-helper.c ++++ libvirt-6.4.0/src/security/virt-aa-helper.c @@ -479,7 +479,8 @@ valid_path(const char *path, const bool "/usr/share/ovmf/", /* for OVMF images */ "/usr/share/AAVMF/", /* for AAVMF images */ diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 0ee9bea..466ca20 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-6.3.0/src/qemu/qemu.conf +Index: libvirt-6.4.0/src/qemu/qemu.conf =================================================================== ---- libvirt-6.3.0.orig/src/qemu/qemu.conf -+++ libvirt-6.3.0/src/qemu/qemu.conf +--- libvirt-6.4.0.orig/src/qemu/qemu.conf ++++ libvirt-6.4.0/src/qemu/qemu.conf @@ -420,10 +420,19 @@ # isolation, but it cannot appear in a list of drivers. # @@ -32,7 +32,7 @@ Index: libvirt-6.3.0/src/qemu/qemu.conf #security_default_confined = 1 # If set to non-zero, then attempts to create unconfined -@@ -659,11 +668,22 @@ +@@ -658,11 +667,22 @@ #relaxed_acs_check = 1 @@ -60,10 +60,10 @@ Index: libvirt-6.3.0/src/qemu/qemu.conf # #lock_manager = "lockd" -Index: libvirt-6.3.0/src/qemu/qemu_conf.c +Index: libvirt-6.4.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/qemu/qemu_conf.c -+++ libvirt-6.3.0/src/qemu/qemu_conf.c +--- libvirt-6.4.0.orig/src/qemu/qemu_conf.c ++++ libvirt-6.4.0/src/qemu/qemu_conf.c @@ -266,7 +266,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER); cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON); diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch index 32a167c..e7ec9c5 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-6.3.0/src/locking/virtlockd.sysconf +Index: libvirt-6.4.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-6.3.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-6.3.0/src/locking/virtlockd.sysconf +--- libvirt-6.4.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-6.4.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 5be41e5..f93d7c6 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-6.3.0/src/logging/virtlogd.sysconf +Index: libvirt-6.4.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-6.3.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-6.3.0/src/logging/virtlogd.sysconf +--- libvirt-6.4.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-6.4.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 e4ac29e..972cb76 100644 --- a/suse-xen-ovmf-loaders.patch +++ b/suse-xen-ovmf-loaders.patch @@ -5,10 +5,10 @@ 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-6.3.0/src/libxl/libxl_conf.c +Index: libvirt-6.4.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-6.3.0.orig/src/libxl/libxl_conf.c -+++ libvirt-6.3.0/src/libxl/libxl_conf.c +--- libvirt-6.4.0.orig/src/libxl/libxl_conf.c ++++ libvirt-6.4.0/src/libxl/libxl_conf.c @@ -1777,6 +1777,15 @@ libxlDriverConfigNew(void) cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR); cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR); From 04185dab96e6c51d7946f6e18cfb51ca029a9521d6a1512febacfe3267cbeca3 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Wed, 3 Jun 2020 17:28:21 +0000 Subject: [PATCH 2/2] Accepting request 811206 from home:jfehlig:branches:Virtualization - libxl: Normalize MAC address in device conf on netdev hotplug ec07aad8-libxl-normalize-mac-addr.patch bsc#1172052 OBS-URL: https://build.opensuse.org/request/show/811206 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=830 --- ...ibxl-add-support-for-BlockResize-API.patch | 4 +- ec07aad8-libxl-normalize-mac-addr.patch | 117 ++++++++++++++++++ libvirt.changes | 7 ++ libvirt.spec | 2 + libxl-dom-reset.patch | 2 +- libxl-set-migration-constraints.patch | 6 +- 6 files changed, 132 insertions(+), 6 deletions(-) create mode 100644 ec07aad8-libxl-normalize-mac-addr.patch diff --git a/0001-libxl-add-support-for-BlockResize-API.patch b/0001-libxl-add-support-for-BlockResize-API.patch index 532cc73..8e2124f 100644 --- a/0001-libxl-add-support-for-BlockResize-API.patch +++ b/0001-libxl-add-support-for-BlockResize-API.patch @@ -23,7 +23,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c =================================================================== --- libvirt-6.4.0.orig/src/libxl/libxl_driver.c +++ libvirt-6.4.0/src/libxl/libxl_driver.c -@@ -5287,6 +5287,96 @@ libxlDomainMemoryStats(virDomainPtr dom, +@@ -5323,6 +5323,96 @@ libxlDomainMemoryStats(virDomainPtr dom, #undef LIBXL_SET_MEMSTAT @@ -120,7 +120,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c static int libxlDomainGetJobInfo(virDomainPtr dom, virDomainJobInfoPtr info) -@@ -6756,6 +6846,7 @@ static virHypervisorDriver libxlHypervis +@@ -6792,6 +6882,7 @@ static virHypervisorDriver libxlHypervis #endif .nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */ .nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */ diff --git a/ec07aad8-libxl-normalize-mac-addr.patch b/ec07aad8-libxl-normalize-mac-addr.patch new file mode 100644 index 0000000..1213287 --- /dev/null +++ b/ec07aad8-libxl-normalize-mac-addr.patch @@ -0,0 +1,117 @@ +commit ec07aad8f8a6ead8e9363c8deec4845edb5bf112 +Author: Jim Fehlig +Date: Wed May 27 17:29:33 2020 -0600 + + libxl: Normalize MAC address in device conf when hotplugging a netdev + + Similar to commits 55ce6564634 and 6c17606b7cc in the qemu driver, make + separate copies of persistent and live device config and normalize the MAC + address between the two. This avoids having different MAC address for the + persistent and live config, ensuring the device has the same address when + the persistent config takes affect after a VM restart. + + Signed-off-by: Jim Fehlig + Reviewed-by: Laine Stump + +Index: libvirt-6.4.0/src/libxl/libxl_driver.c +=================================================================== +--- libvirt-6.4.0.orig/src/libxl/libxl_driver.c ++++ libvirt-6.4.0/src/libxl/libxl_driver.c +@@ -4096,6 +4096,31 @@ libxlDomainUpdateDeviceConfig(virDomainD + } + + ++static void ++libxlDomainAttachDeviceNormalize(const virDomainDeviceDef *devConf, ++ virDomainDeviceDefPtr devLive) ++{ ++ /* ++ * Fixup anything that needs to be identical in the live and ++ * config versions of DeviceDef, but might not be. Do this by ++ * changing the contents of devLive. This is done after all ++ * post-parse tweaks and validation, so be very careful about what ++ * changes are made. ++ */ ++ ++ /* MAC address should be identical in both DeviceDefs, but if it ++ * wasn't specified in the XML, and was instead autogenerated, it ++ * will be different for the two since they are each the result of ++ * a separate parser call. If it *was* specified, it will already ++ * be the same, so copying does no harm. ++ */ ++ ++ if (devConf->type == VIR_DOMAIN_DEVICE_NET) ++ virMacAddrSet(&devLive->data.net->mac, &devConf->data.net->mac); ++ ++} ++ ++ + static int + libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml, + unsigned int flags) +@@ -4104,7 +4129,9 @@ libxlDomainAttachDeviceFlags(virDomainPt + libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); + virDomainObjPtr vm = NULL; + virDomainDefPtr vmdef = NULL; +- virDomainDeviceDefPtr dev = NULL; ++ virDomainDeviceDefPtr devConf = NULL; ++ virDomainDeviceDef devConfSave = { 0 }; ++ virDomainDeviceDefPtr devLive = NULL; + int ret = -1; + + virCheckFlags(VIR_DOMAIN_DEVICE_MODIFY_LIVE | +@@ -4123,28 +4150,36 @@ libxlDomainAttachDeviceFlags(virDomainPt + goto endjob; + + if (flags & VIR_DOMAIN_DEVICE_MODIFY_CONFIG) { +- if (!(dev = virDomainDeviceDefParse(xml, vm->def, +- driver->xmlopt, NULL, +- VIR_DOMAIN_DEF_PARSE_INACTIVE))) ++ if (!(devConf = virDomainDeviceDefParse(xml, vm->def, ++ driver->xmlopt, NULL, ++ VIR_DOMAIN_DEF_PARSE_INACTIVE))) + goto endjob; + + /* Make a copy for updated domain. */ + if (!(vmdef = virDomainObjCopyPersistentDef(vm, driver->xmlopt, NULL))) + goto endjob; + +- if (libxlDomainAttachDeviceConfig(vmdef, dev) < 0) ++ /* ++ * devConf will be NULLed out by ++ * libxlDomainAttachDeviceConfig(), so save it for later use by ++ * libxlDomainAttachDeviceNormalize() ++ */ ++ devConfSave = *devConf; ++ ++ if (libxlDomainAttachDeviceConfig(vmdef, devConf) < 0) + goto endjob; + } + + if (flags & VIR_DOMAIN_DEVICE_MODIFY_LIVE) { +- /* If dev exists it was created to modify the domain config. Free it. */ +- virDomainDeviceDefFree(dev); +- if (!(dev = virDomainDeviceDefParse(xml, vm->def, ++ if (!(devLive = virDomainDeviceDefParse(xml, vm->def, + driver->xmlopt, NULL, + VIR_DOMAIN_DEF_PARSE_INACTIVE))) + goto endjob; + +- if (libxlDomainAttachDeviceLive(driver, vm, dev) < 0) ++ if (flags & VIR_DOMAIN_AFFECT_CONFIG) ++ libxlDomainAttachDeviceNormalize(&devConfSave, devLive); ++ ++ if (libxlDomainAttachDeviceLive(driver, vm, devLive) < 0) + goto endjob; + + /* +@@ -4171,7 +4206,8 @@ libxlDomainAttachDeviceFlags(virDomainPt + + cleanup: + virDomainDefFree(vmdef); +- virDomainDeviceDefFree(dev); ++ virDomainDeviceDefFree(devConf); ++ virDomainDeviceDefFree(devLive); + virDomainObjEndAPI(&vm); + virObjectUnref(cfg); + return ret; diff --git a/libvirt.changes b/libvirt.changes index 6bb0d70..3ec02fe 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jun 3 16:38:09 UTC 2020 - James Fehlig + +- libxl: Normalize MAC address in device conf on netdev hotplug + ec07aad8-libxl-normalize-mac-addr.patch + bsc#1172052 + ------------------------------------------------------------------- Tue Jun 2 15:16:15 UTC 2020 - James Fehlig diff --git a/libvirt.spec b/libvirt.spec index 53c7399..ee77309 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -338,6 +338,7 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches +Patch0: ec07aad8-libxl-normalize-mac-addr.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -873,6 +874,7 @@ libvirt plugin for NSS for translating domain names into IP addresses. %prep %setup -q +%patch0 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1 diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index e4eda01..df3f75a 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -74,7 +74,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6631,6 +6686,7 @@ static virHypervisorDriver libxlHypervis +@@ -6667,6 +6722,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index 892b010..5c7f505 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -56,7 +56,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c =================================================================== --- libvirt-6.4.0.orig/src/libxl/libxl_driver.c +++ libvirt-6.4.0/src/libxl/libxl_driver.c -@@ -6196,6 +6196,9 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6232,6 +6232,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6212,6 +6215,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6248,6 +6251,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ Index: libvirt-6.4.0/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6226,11 +6241,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6262,11 +6277,11 @@ libxlDomainMigratePerform3Params(virDoma if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) { if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,