diff --git a/0001-Extract-stats-functions-from-the-qemu-driver.patch b/0001-Extract-stats-functions-from-the-qemu-driver.patch index c2bf7d0..e214c11 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-5.9.0/src/conf/domain_stats.c +Index: libvirt-5.10.0/src/conf/domain_stats.c =================================================================== --- /dev/null -+++ libvirt-5.9.0/src/conf/domain_stats.c ++++ libvirt-5.10.0/src/conf/domain_stats.c @@ -0,0 +1,119 @@ +/* + * domain_stats.c: domain stats extraction helpers @@ -142,10 +142,10 @@ Index: libvirt-5.9.0/src/conf/domain_stats.c +} + +#undef STATS_ADD_NET_PARAM -Index: libvirt-5.9.0/src/conf/domain_stats.h +Index: libvirt-5.10.0/src/conf/domain_stats.h =================================================================== --- /dev/null -+++ libvirt-5.9.0/src/conf/domain_stats.h ++++ libvirt-5.10.0/src/conf/domain_stats.h @@ -0,0 +1,62 @@ +/* + * domain_stats.h: domain stats extraction helpers @@ -209,10 +209,10 @@ Index: libvirt-5.9.0/src/conf/domain_stats.h + virTypedParamListPtr params); + +#endif /* __DOMAIN_STATS_H */ -Index: libvirt-5.9.0/src/libvirt_private.syms +Index: libvirt-5.10.0/src/libvirt_private.syms =================================================================== ---- libvirt-5.9.0.orig/src/libvirt_private.syms -+++ libvirt-5.9.0/src/libvirt_private.syms +--- libvirt-5.10.0.orig/src/libvirt_private.syms ++++ libvirt-5.10.0/src/libvirt_private.syms @@ -697,6 +697,9 @@ virDomainConfNWFilterInstantiate; virDomainConfNWFilterTeardown; virDomainConfVMNWFilterTeardown; @@ -223,7 +223,7 @@ Index: libvirt-5.9.0/src/libvirt_private.syms # conf/interface_conf.h virInterfaceDefFormat; -@@ -1653,6 +1656,7 @@ virCgroupGetMemoryUsage; +@@ -1669,6 +1672,7 @@ virCgroupGetMemoryUsage; virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapUsage; virCgroupGetPercpuStats; @@ -231,11 +231,11 @@ Index: libvirt-5.9.0/src/libvirt_private.syms virCgroupHasController; virCgroupHasEmptyTasks; virCgroupKillPainfully; -Index: libvirt-5.9.0/src/qemu/qemu_driver.c +Index: libvirt-5.10.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/qemu/qemu_driver.c -+++ libvirt-5.9.0/src/qemu/qemu_driver.c -@@ -67,6 +67,7 @@ +--- libvirt-5.10.0.orig/src/qemu/qemu_driver.c ++++ libvirt-5.10.0/src/qemu/qemu_driver.c +@@ -66,6 +66,7 @@ #include "virarptable.h" #include "viruuid.h" #include "domain_conf.h" @@ -243,7 +243,7 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c #include "domain_audit.h" #include "node_device_conf.h" #include "virpci.h" -@@ -20394,13 +20395,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr +@@ -20389,13 +20390,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr virTypedParamListPtr params, unsigned int privflags G_GNUC_UNUSED) { @@ -258,7 +258,7 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c } -@@ -20601,17 +20596,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj +@@ -20596,17 +20591,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj if (!priv->cgroup) return 0; @@ -277,7 +277,7 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c } -@@ -20768,79 +20753,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr +@@ -20763,76 +20748,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr return ret; } @@ -294,13 +294,12 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c { - size_t i; - struct _virDomainInterfaceStats tmp; -- int ret = -1; - - if (!virDomainObjIsActive(dom)) - return 0; - - if (virTypedParamListAddUInt(params, dom->def->nnets, "net.count") < 0) -- goto cleanup; +- return -1; - - /* Check the path is one of the domain's network interfaces. */ - for (i = 0; i < dom->def->nnets; i++) { @@ -315,7 +314,7 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c - actualType = virDomainNetGetActualType(net); - - if (virTypedParamListAddString(params, net->ifname, "net.%zu.name", i) < 0) -- goto cleanup; +- return -1; - - if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) { - if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) { @@ -348,9 +347,7 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c - "tx.drop", tmp.tx_drop); - } - -- ret = 0; -- cleanup: -- return ret; +- return 0; + return virDomainStatsGetInterface(dom,params); } @@ -358,11 +355,11 @@ Index: libvirt-5.9.0/src/qemu/qemu_driver.c /* refresh information by opening images on the disk */ static int -Index: libvirt-5.9.0/src/util/vircgroup.c +Index: libvirt-5.10.0/src/util/vircgroup.c =================================================================== ---- libvirt-5.9.0.orig/src/util/vircgroup.c -+++ libvirt-5.9.0/src/util/vircgroup.c -@@ -2785,6 +2785,31 @@ virCgroupControllerAvailable(int control +--- libvirt-5.10.0.orig/src/util/vircgroup.c ++++ libvirt-5.10.0/src/util/vircgroup.c +@@ -2773,6 +2773,31 @@ virCgroupControllerAvailable(int control return ret; } @@ -394,7 +391,7 @@ Index: libvirt-5.9.0/src/util/vircgroup.c #else /* !__linux__ */ bool -@@ -2794,6 +2819,14 @@ virCgroupAvailable(void) +@@ -2782,6 +2807,14 @@ virCgroupAvailable(void) } @@ -409,10 +406,10 @@ Index: libvirt-5.9.0/src/util/vircgroup.c int virCgroupNewPartition(const char *path G_GNUC_UNUSED, bool create G_GNUC_UNUSED, -Index: libvirt-5.9.0/src/util/vircgroup.h +Index: libvirt-5.10.0/src/util/vircgroup.h =================================================================== ---- libvirt-5.9.0.orig/src/util/vircgroup.h -+++ libvirt-5.9.0/src/util/vircgroup.h +--- libvirt-5.10.0.orig/src/util/vircgroup.h ++++ libvirt-5.10.0/src/util/vircgroup.h @@ -24,6 +24,7 @@ #include "virutil.h" #include "virbitmap.h" @@ -428,10 +425,10 @@ Index: libvirt-5.9.0/src/util/vircgroup.h + +int virCgroupGetStatsCpu(virCgroupPtr cgroup, + virTypedParamListPtr params); -Index: libvirt-5.9.0/src/conf/Makefile.inc.am +Index: libvirt-5.10.0/src/conf/Makefile.inc.am =================================================================== ---- libvirt-5.9.0.orig/src/conf/Makefile.inc.am -+++ libvirt-5.9.0/src/conf/Makefile.inc.am +--- libvirt-5.10.0.orig/src/conf/Makefile.inc.am ++++ libvirt-5.10.0/src/conf/Makefile.inc.am @@ -26,6 +26,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 a966b21..9d2e748 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-5.9.0/src/libxl/libxl_driver.c +Index: libvirt-5.10.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_driver.c -+++ libvirt-5.9.0/src/libxl/libxl_driver.c -@@ -5283,6 +5283,97 @@ libxlDomainMemoryStats(virDomainPtr dom, +--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c ++++ libvirt-5.10.0/src/libxl/libxl_driver.c +@@ -5281,6 +5281,96 @@ libxlDomainMemoryStats(virDomainPtr dom, #undef LIBXL_SET_MEMSTAT @@ -95,8 +95,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c + disk->src->format == VIR_STORAGE_FILE_QED) + size = VIR_ROUND_UP(size, 512); + -+ if (virAsprintf(&moncmd, "block_resize %s %lluB", disk->dst, size) < 0) -+ goto endjob; ++ moncmd = g_strdup_printf("block_resize %s %lluB", disk->dst, size); + + if (libxl_qemu_monitor_command(cfg->ctx, vm->def->id, moncmd, &monreply) != 0) { + virReportError(VIR_ERR_OPERATION_FAILED, @@ -121,7 +120,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c static int libxlDomainGetJobInfo(virDomainPtr dom, virDomainJobInfoPtr info) -@@ -6724,6 +6815,7 @@ static virHypervisorDriver libxlHypervis +@@ -6718,6 +6808,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 652033f..75aa4f8 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-5.9.0/src/lxc/lxc_driver.c +Index: libvirt-5.10.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/lxc/lxc_driver.c -+++ libvirt-5.9.0/src/lxc/lxc_driver.c +--- libvirt-5.10.0.orig/src/lxc/lxc_driver.c ++++ libvirt-5.10.0/src/lxc/lxc_driver.c @@ -75,6 +75,7 @@ #include "viraccessapichecklxc.h" #include "virhostdev.h" @@ -21,7 +21,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_driver.c #define VIR_FROM_THIS VIR_FROM_LXC -@@ -5394,6 +5395,135 @@ lxcDomainHasManagedSaveImage(virDomainPt +@@ -5382,6 +5383,135 @@ lxcDomainHasManagedSaveImage(virDomainPt return ret; } @@ -157,7 +157,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_driver.c /* Function Tables */ static virHypervisorDriver lxcHypervisorDriver = { -@@ -5489,6 +5619,7 @@ static virHypervisorDriver lxcHypervisor +@@ -5477,6 +5607,7 @@ static virHypervisorDriver lxcHypervisor .nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */ .nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */ .domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */ diff --git a/0a65cba4-news-fix.patch b/0a65cba4-news-fix.patch new file mode 100644 index 0000000..9b0996f --- /dev/null +++ b/0a65cba4-news-fix.patch @@ -0,0 +1,30 @@ +commit 0a65cba423781f2cbf123354b7f670c4f441b385 +Author: Jim Fehlig +Date: Mon Dec 2 20:48:24 2019 -0700 + + news: Fix XML validation + + The news schema requires two digits for both month and day in the date + attribute. s/2/02/ in the day value of date to fix the following + 'make check' failure + + 2165) Checking ../docs/news.xml against ../news.rng ... + libvirt: XML Util error : XML document failed to validate against schema: + Unable to validate doc against /home/jfehlig/virt/upstream/libvirt/build/../docs/schemas/../news.rng + Element release failed to validate attributes + + Signed-off-by: Jim Fehlig + +Index: libvirt-5.10.0/docs/news.xml +=================================================================== +--- libvirt-5.10.0.orig/docs/news.xml ++++ libvirt-5.10.0/docs/news.xml +@@ -42,7 +42,7 @@ + --> + + +- ++ +
+ + diff --git a/2552752f-libxl-fix-lock-manager-lock-ordering.patch b/2552752f-libxl-fix-lock-manager-lock-ordering.patch deleted file mode 100644 index f9bc986..0000000 --- a/2552752f-libxl-fix-lock-manager-lock-ordering.patch +++ /dev/null @@ -1,87 +0,0 @@ -commit 2552752f0b6504a80f6306e5aae2c7063d24f1ab -Author: Jim Fehlig -Date: Mon Oct 14 14:01:00 2019 -0600 - - libxl: Fix lock manager lock ordering - - The ordering of lock manager locks in the libxl driver has a flaw that was - uncovered by a migration error path. In the perform phase of migration, the - source host calls virDomainLockProcessPause to release the lock before - sending the VM to the destination host. If the send fails an attempt is made - to reacquire the lock with virDomainLockProcessResume, but that too can fail - if the destination host has not finished cleaning up the failed VM and - releasing the lock it acquired when starting to receive the VM. - - This change delays calling virDomainLockProcessResume in libxlDomainStart - until the VM is successfully created, but before it is unpaused. A similar - approach is used by the qemu driver, avoiding the need to release the lock - if VM creation fails. In the migration perform phase, releasing the lock - with virDomainLockProcessPause is delayed until the VM is successfully - sent to the destination, which avoids reacquiring the lock if the send - fails. - - Signed-off-by: Jim Fehlig - Reviewed-by: Cole Robinson - -Index: libvirt-5.9.0/src/libxl/libxl_domain.c -=================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_domain.c -+++ libvirt-5.9.0/src/libxl/libxl_domain.c -@@ -1347,13 +1347,6 @@ libxlDomainStart(libxlDriverPrivatePtr d - NULL) < 0) - goto cleanup; - -- if (virDomainLockProcessResume(driver->lockManager, -- "xen:///system", -- vm, -- priv->lockState) < 0) -- goto cleanup; -- VIR_FREE(priv->lockState); -- - if (libxlNetworkPrepareDevices(vm->def) < 0) - goto cleanup_dom; - -@@ -1436,6 +1429,13 @@ libxlDomainStart(libxlDriverPrivatePtr d - - libxlLoggerOpenFile(cfg->logger, domid, vm->def->name, config_json); - -+ if (virDomainLockProcessResume(driver->lockManager, -+ "xen:///system", -+ vm, -+ priv->lockState) < 0) -+ goto destroy_dom; -+ VIR_FREE(priv->lockState); -+ - /* Always enable domain death events */ - if (libxl_evenable_domain_death(cfg->ctx, vm->def->id, 0, &priv->deathW)) - goto destroy_dom; -Index: libvirt-5.9.0/src/libxl/libxl_migration.c -=================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_migration.c -+++ libvirt-5.9.0/src/libxl/libxl_migration.c -@@ -1240,20 +1240,16 @@ libxlDomainMigrationSrcPerform(libxlDriv - sockfd = virNetSocketDupFD(sock, true); - virObjectUnref(sock); - -- 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)); -- - /* suspend vm and send saved data to dst through socket fd */ - virObjectUnlock(vm); - ret = libxlDoMigrateSrcSend(driver, vm, flags, sockfd); - virObjectLock(vm); - -- if (ret < 0) { -- virDomainLockProcessResume(driver->lockManager, -- "xen:///system", -- vm, -- priv->lockState); -+ if (ret == 0) { -+ 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)); -+ } else { - /* - * Confirm phase will not be executed if perform fails. End the - * job started in begin phase. diff --git a/libvirt-5.10.0.tar.xz b/libvirt-5.10.0.tar.xz new file mode 100644 index 0000000..3d52c8b --- /dev/null +++ b/libvirt-5.10.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9aaa889dccdc16e39eaa53dae36375413619561896920419fb1351bee8a2fc87 +size 8732120 diff --git a/libvirt-5.10.0.tar.xz.asc b/libvirt-5.10.0.tar.xz.asc new file mode 100644 index 0000000..81f5fb4 --- /dev/null +++ b/libvirt-5.10.0.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl3lY20ACgkQFViLJllr +6l0cdgf/RP8gH2stB2f1PxcbPkHIFdtkPjoWogHM5LST8CLt2NGhUd3oN9j7tNPj +bt55FfOF3ez8I0L9/bZsKjmIC2nEB2mMbNrkzvcmbuq2CKsg3EUiW2BEMHUCshf3 +d5Ec+RmbyrZ28f0Ry1aUzEeGypTKGcZJCYwGkORUya9uTtOzoyeACWtP7/ALrnae +/PpMEbh3iIeFevB9iDWRR1fm/t3GIE4xEy67z65GXCjgO63pYd7Z25viqNoqFu22 +Bz57y+PVaEX4BFfOiMtfFOILYp6X4gQSWsd7sTFKXc6Itow4+nxek9MMc2Upy8tN +NZMS4G5q5nS1n9F4WTJbererlLEFmg== +=VGJJ +-----END PGP SIGNATURE----- diff --git a/libvirt-5.9.0.tar.xz b/libvirt-5.9.0.tar.xz deleted file mode 100644 index f76d374..0000000 --- a/libvirt-5.9.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3496d2e1d988185de013b2a9d2e8824458afd85aa7cd050283a59b3d78978939 -size 12394784 diff --git a/libvirt-5.9.0.tar.xz.asc b/libvirt-5.9.0.tar.xz.asc deleted file mode 100644 index 289c304..0000000 --- a/libvirt-5.9.0.tar.xz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl3BgfoACgkQFViLJllr -6l1PgggArP0WQI27JotDf+vvxoe21FwmtGJhsSC3l72yr4LZM8Ul45dD95j6RXVs -3t0SG6CIatQMqkrIRKqSMoT1cG3Y0fmpnmXfMutAp7q7TbuZ7z5fHTcDrgw2kBYE -GA+nxVM7/s1wOv2uivjPIFg3dbGpWwCcnXmrlZqiLuMuY1NcuOrez7iOIjnYJBe6 -D5A8JDNueZhsddG2YUwbk8XbQGJe1Q/Gb+HlA6nm0Vwrlfrziz5Nz3QRI8pZ+5+Y -CK+6MmOqFcb5rmMwmEFmrhFG1ASg33x3rVJBCovyDO+2w3Lru91OYNx5AFyvLH0A -5KS1R6NyV6Vn9toeMowm9I2iXMyF3A== -=JGL6 ------END PGP SIGNATURE----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 1837ce5..35644fb 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-5.9.0/src/cpu_map/ppc64_POWER8.xml +Index: libvirt-5.10.0/src/cpu_map/ppc64_POWER8.xml =================================================================== ---- libvirt-5.9.0.orig/src/cpu_map/ppc64_POWER8.xml -+++ libvirt-5.9.0/src/cpu_map/ppc64_POWER8.xml +--- libvirt-5.10.0.orig/src/cpu_map/ppc64_POWER8.xml ++++ libvirt-5.10.0/src/cpu_map/ppc64_POWER8.xml @@ -4,5 +4,7 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index f7c1f98..06c25a6 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,8 +1,8 @@ -Index: libvirt-5.9.0/configure.ac +Index: libvirt-5.10.0/configure.ac =================================================================== ---- libvirt-5.9.0.orig/configure.ac -+++ libvirt-5.9.0/configure.ac -@@ -279,6 +279,7 @@ LIBVIRT_ARG_LIBSSH +--- libvirt-5.10.0.orig/configure.ac ++++ libvirt-5.10.0/configure.ac +@@ -285,6 +285,7 @@ LIBVIRT_ARG_LIBSSH LIBVIRT_ARG_LIBXML LIBVIRT_ARG_MACVTAP LIBVIRT_ARG_NETCF @@ -10,7 +10,7 @@ Index: libvirt-5.9.0/configure.ac LIBVIRT_ARG_NLS LIBVIRT_ARG_NSS LIBVIRT_ARG_NUMACTL -@@ -323,6 +324,7 @@ LIBVIRT_CHECK_LIBSSH +@@ -329,6 +330,7 @@ LIBVIRT_CHECK_LIBSSH LIBVIRT_CHECK_LIBXML LIBVIRT_CHECK_MACVTAP LIBVIRT_CHECK_NETCF @@ -18,7 +18,7 @@ Index: libvirt-5.9.0/configure.ac LIBVIRT_CHECK_NLS LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_NWFILTER -@@ -1003,6 +1005,7 @@ LIBVIRT_RESULT_LIBXL +@@ -1015,6 +1017,7 @@ LIBVIRT_RESULT_LIBXL LIBVIRT_RESULT_LIBXML LIBVIRT_RESULT_MACVTAP LIBVIRT_RESULT_NETCF @@ -26,10 +26,10 @@ Index: libvirt-5.9.0/configure.ac LIBVIRT_RESULT_NLS LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NUMACTL -Index: libvirt-5.9.0/tools/virsh.c +Index: libvirt-5.10.0/tools/virsh.c =================================================================== ---- libvirt-5.9.0.orig/tools/virsh.c -+++ libvirt-5.9.0/tools/virsh.c +--- libvirt-5.10.0.orig/tools/virsh.c ++++ libvirt-5.10.0/tools/virsh.c @@ -555,6 +555,8 @@ virshShowVersion(vshControl *ctl G_GNUC_ vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -39,10 +39,10 @@ Index: libvirt-5.9.0/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c +Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-5.9.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-5.9.0/src/interface/interface_backend_netcf.c +--- libvirt-5.10.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-5.10.0/src/interface/interface_backend_netcf.c @@ -21,7 +21,12 @@ #include @@ -95,7 +95,7 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c static void virNetcfDriverStateDispose(void *obj) -@@ -123,6 +159,10 @@ netcfStateInitialize(bool privileged, +@@ -120,6 +156,10 @@ netcfStateInitialize(bool privileged, virPidFileAcquire(driver->stateDir, "driver", false, getpid())) < 0) goto error; @@ -106,7 +106,7 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c /* open netcf */ if (ncf_init(&driver->netcf, NULL) != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -@@ -1117,6 +1157,7 @@ static int netcfInterfaceIsActive(virInt +@@ -1114,6 +1154,7 @@ static int netcfInterfaceIsActive(virInt return ret; } @@ -114,7 +114,7 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags) { int ret; -@@ -1191,6 +1232,7 @@ static int netcfInterfaceChangeRollback( +@@ -1188,6 +1229,7 @@ static int netcfInterfaceChangeRollback( virObjectUnlock(driver); return ret; } @@ -122,7 +122,7 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c static virInterfaceDriver interfaceDriver = { .name = INTERFACE_DRIVER_NAME, -@@ -1207,9 +1249,11 @@ static virInterfaceDriver interfaceDrive +@@ -1204,9 +1246,11 @@ static virInterfaceDriver interfaceDrive .interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */ .interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */ .interfaceIsActive = netcfInterfaceIsActive, /* 0.7.3 */ @@ -134,7 +134,7 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c }; -@@ -1240,6 +1284,19 @@ static virStateDriver interfaceStateDriv +@@ -1237,6 +1281,19 @@ static virStateDriver interfaceStateDriv int netcfIfaceRegister(void) { @@ -154,10 +154,10 @@ Index: libvirt-5.9.0/src/interface/interface_backend_netcf.c if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0) return -1; if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) -Index: libvirt-5.9.0/src/interface/interface_driver.c +Index: libvirt-5.10.0/src/interface/interface_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/interface/interface_driver.c -+++ libvirt-5.9.0/src/interface/interface_driver.c +--- libvirt-5.10.0.orig/src/interface/interface_driver.c ++++ libvirt-5.10.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -175,10 +175,10 @@ Index: libvirt-5.9.0/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-5.9.0/m4/virt-netcontrol.m4 +Index: libvirt-5.10.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-5.9.0/m4/virt-netcontrol.m4 ++++ libvirt-5.10.0/m4/virt-netcontrol.m4 @@ -0,0 +1,39 @@ +dnl The libnetcontrol library +dnl @@ -219,10 +219,10 @@ Index: libvirt-5.9.0/m4/virt-netcontrol.m4 +AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[ + LIBVIRT_RESULT_LIB([NETCONTROL]) +]) -Index: libvirt-5.9.0/src/interface/Makefile.inc.am +Index: libvirt-5.10.0/src/interface/Makefile.inc.am =================================================================== ---- libvirt-5.9.0.orig/src/interface/Makefile.inc.am -+++ libvirt-5.9.0/src/interface/Makefile.inc.am +--- libvirt-5.10.0.orig/src/interface/Makefile.inc.am ++++ libvirt-5.10.0/src/interface/Makefile.inc.am @@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \ $(NULL) @@ -230,8 +230,8 @@ Index: libvirt-5.9.0/src/interface/Makefile.inc.am +INTERFACE_DRIVER_NETCONTROL_SOURCES = interface/interface_backend_netcf.c INTERFACE_DRIVER_UDEV_SOURCES = interface/interface_backend_udev.c - DRIVER_SOURCE_FILES += $(INTERFACE_DRIVER_SOURCES) -@@ -36,6 +37,11 @@ libvirt_driver_interface_la_CFLAGS += $( + DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(INTERFACE_DRIVER_SOURCES)) +@@ -38,6 +39,11 @@ libvirt_driver_interface_la_CFLAGS += $( libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) libvirt_driver_interface_la_SOURCES += $(INTERFACE_DRIVER_NETCF_SOURCES) endif WITH_NETCF diff --git a/libvirt.changes b/libvirt.changes index c208021..300a35e 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Dec 2 23:24:23 UTC 2019 - James Fehlig + +- Update to libvirt 5.10.0 + - bsc#1157149 + - Many incremental improvements and bug fixes, see + https://libvirt.org/news.html + - Dropped patches: + 2552752f-libxl-fix-lock-manager-lock-ordering.patch + - Added patches: + 0a65cba4-news-fix.patch + +------------------------------------------------------------------- +Wed Nov 27 20:26:03 UTC 2019 - James Fehlig + +- spec: Enable 'libvirt' firewalld zone for firewalld >= 0.7.0 + boo#1157766 + ------------------------------------------------------------------- Thu Nov 14 17:31:35 UTC 2019 - James Fehlig diff --git a/libvirt.spec b/libvirt.spec index 3de04e6..4843f2e 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,7 +1,7 @@ # # spec file for package libvirt # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,11 +16,14 @@ # -#Compat macro for new _fillupdir macro introduced in Nov 2017 +# Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif +# libvirt does not support building in srcdir +%define _vpath_builddir %{_target_platform} + # The hypervisor drivers that run in libvirtd %define with_qemu 0%{!?_without_qemu:1} %define with_lxc 0%{!?_without_lxc:1} @@ -105,6 +108,11 @@ %define with_firewalld 1 %endif +# The 'libvirt' zone must be used with firewalld >= 0.7.0 +%if 0%{?suse_version} >= 1550 + %define with_firewalld_zone 1 +%endif + # Enable libssh support in newer code bases %if 0%{?suse_version} >= 1500 %define with_libssh 1 @@ -182,8 +190,8 @@ %endif Name: libvirt -Url: http://libvirt.org/ -Version: 5.9.0 +URL: http://libvirt.org/ +Version: 5.10.0 Release: 0 Summary: Library providing a virtualization API License: LGPL-2.1-or-later @@ -243,9 +251,6 @@ BuildRequires: libxslt BuildRequires: perl BuildRequires: python3 BuildRequires: readline-devel -# perl XPath is needed since we have a patch touching files that cause -# hvsupport.html to be regenerated -BuildRequires: perl(XML::XPath) # rpcgen is needed since we have a patch touching remote_protocol.x BuildRequires: rpcgen # For pool-build probing for existing pools @@ -338,7 +343,7 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: 2552752f-libxl-fix-lock-manager-lock-ordering.patch +Patch0: 0a65cba4-news-fix.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -1026,9 +1031,13 @@ libvirt plugin for NSS for translating domain names into IP addresses. %endif autoreconf -f -i +%define _configure ../configure +mkdir %{_vpath_builddir} +cd %{_vpath_builddir} export CFLAGS="%{optflags}" export PYTHON=%{_bindir}/python3 %configure --disable-static \ + --enable-dependency-tracking \ --with-runstatedir=%{_rundir} \ %{?arg_qemu} \ %{?arg_openvz} \ @@ -1093,11 +1102,11 @@ export PYTHON=%{_bindir}/python3 ac_cv_path_PARTED=/usr/sbin/parted \ ac_cv_path_QEMU_BRIDGE_HELPER=/usr/lib/qemu-bridge-helper %make_build HTML_DIR=%{_docdir}/%{name} -gzip -9 ChangeLog %install +cd %{_vpath_builddir} %make_install SYSTEMD_UNIT_DIR=%{_unitdir} HTML_DIR=%{_docdir}/%{name} -cp examples/sh/virt-lxc-convert %{buildroot}/%{_bindir} +cp ../examples/sh/virt-lxc-convert %{buildroot}/%{_bindir} rm -f %{buildroot}/%{_libdir}/*.la %if %{with_wireshark} rm -f %{buildroot}/%{wireshark_plugindir}/libvirt.la @@ -1235,11 +1244,10 @@ do rm -f $i printf 'int main(void) { return 0; }' > $i.c done -%make_build - +cd ../%{_vpath_builddir} if ! %make_build check VIR_TEST_DEBUG=1 then - cat test-suite.log || true + cat tests/test-suite.log || true exit 1 fi @@ -1604,6 +1612,7 @@ fi %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so %if %{with_firewalld_zone} +%dir %{_prefix}/lib/firewalld/zones/ %{_prefix}/lib/firewalld/zones/libvirt.xml %endif @@ -1831,8 +1840,8 @@ fi %{_unitdir}/libvirt-guests.service %{_sbindir}/rclibvirt-guests -%files libs -f %{name}.lang -%doc AUTHORS ChangeLog.gz NEWS README README.md COPYING COPYING.LESSER +%files libs -f %{_vpath_builddir}/%{name}.lang +%doc AUTHORS NEWS README README.md COPYING COPYING.LESSER %config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf %config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf %{_libdir}/libvirt.so.* diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 1a8c7c0..a5737d7 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600 option, but domainReset can be implemented in the libxl driver by forcibly destroying the domain and starting it again. -Index: libvirt-5.9.0/src/libxl/libxl_driver.c +Index: libvirt-5.10.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_driver.c -+++ libvirt-5.9.0/src/libxl/libxl_driver.c -@@ -1365,6 +1365,61 @@ libxlDomainReboot(virDomainPtr dom, unsi +--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c ++++ libvirt-5.10.0/src/libxl/libxl_driver.c +@@ -1363,6 +1363,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } static int @@ -74,7 +74,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6599,6 +6654,7 @@ static virHypervisorDriver libxlHypervis +@@ -6593,6 +6648,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 1ab7c2a..973e98b 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425 src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-5.9.0/src/libxl/libxl_conf.c +Index: libvirt-5.10.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_conf.c -+++ libvirt-5.9.0/src/libxl/libxl_conf.c -@@ -880,6 +880,30 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c ++++ libvirt-5.10.0/src/libxl/libxl_conf.c +@@ -869,6 +869,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -38,7 +38,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_conf.c static char * libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *username, -@@ -1121,6 +1145,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1110,6 +1134,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 43e5913..f8e7977 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-5.9.0/include/libvirt/libvirt-domain.h +Index: libvirt-5.10.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-5.9.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-5.9.0/include/libvirt/libvirt-domain.h +--- libvirt-5.10.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-5.10.0/include/libvirt/libvirt-domain.h @@ -1051,6 +1051,31 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS "parallel.connections" @@ -52,11 +52,11 @@ Index: libvirt-5.9.0/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-5.9.0/src/libxl/libxl_driver.c +Index: libvirt-5.10.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_driver.c -+++ libvirt-5.9.0/src/libxl/libxl_driver.c -@@ -6145,6 +6145,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c ++++ libvirt-5.10.0/src/libxl/libxl_driver.c +@@ -6139,6 +6139,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6161,6 +6164,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6155,6 +6158,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6175,11 +6190,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6169,11 +6184,11 @@ libxlDomainMigratePerform3Params(virDoma if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) { if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml, @@ -99,10 +99,10 @@ Index: libvirt-5.9.0/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-5.9.0/src/libxl/libxl_migration.c +Index: libvirt-5.10.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_migration.c -+++ libvirt-5.9.0/src/libxl/libxl_migration.c +--- libvirt-5.10.0.orig/src/libxl/libxl_migration.c ++++ libvirt-5.10.0/src/libxl/libxl_migration.c @@ -338,18 +338,39 @@ libxlMigrateDstReceive(virNetSocketPtr s static int libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, @@ -145,7 +145,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (ret != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to send migration data to destination host")); -@@ -906,7 +927,7 @@ struct libxlTunnelControl { +@@ -903,7 +924,7 @@ struct libxlTunnelControl { static int libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver, virDomainObjPtr vm, @@ -154,7 +154,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c virStreamPtr st, struct libxlTunnelControl **tnl) { -@@ -939,7 +960,7 @@ libxlMigrationSrcStartTunnel(libxlDriver +@@ -936,7 +957,7 @@ libxlMigrationSrcStartTunnel(libxlDriver virObjectUnlock(vm); /* Send data to pipe */ @@ -163,7 +163,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c virObjectLock(vm); out: -@@ -975,7 +996,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -972,7 +993,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP const char *dconnuri G_GNUC_UNUSED, const char *dname, const char *uri, @@ -172,7 +172,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c { virDomainPtr ddomain = NULL; virTypedParameterPtr params = NULL; -@@ -1020,11 +1041,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1017,11 +1038,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP /* We don't require the destination to have P2P support * as it looks to be normal migration from the receiver perspective. */ @@ -186,7 +186,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (!(st = virStreamNew(dconn, 0))) goto confirm; ret = dconn->driver->domainMigratePrepareTunnel3Params -@@ -1038,7 +1059,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1035,7 +1056,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP if (ret == -1) goto confirm; @@ -195,7 +195,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (uri_out) { if (virTypedParamsReplaceString(¶ms, &nparams, VIR_MIGRATE_PARAM_URI, uri_out) < 0) { -@@ -1053,11 +1074,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1050,11 +1071,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP } VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out)); @@ -210,7 +210,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (ret < 0) { notify_source = false; virErrorPreserveLast(&orig_err); -@@ -1092,7 +1113,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1089,7 +1110,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP confirm: if (notify_source) { VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm); @@ -219,7 +219,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (ret < 0) VIR_WARN("Guest %s probably left in 'paused' state on source", -@@ -1100,7 +1121,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP +@@ -1097,7 +1118,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP } cleanup: @@ -228,7 +228,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c libxlMigrationSrcStopTunnel(tc); virObjectUnref(st); } -@@ -1144,7 +1165,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD +@@ -1141,7 +1162,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD const char *dconnuri, const char *uri_str G_GNUC_UNUSED, const char *dname, @@ -237,7 +237,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c { int ret = -1; bool useParams; -@@ -1179,7 +1200,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD +@@ -1176,7 +1197,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD } ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri, @@ -246,7 +246,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c if (ret < 0) { /* -@@ -1206,7 +1227,7 @@ libxlDomainMigrationSrcPerform(libxlDriv +@@ -1203,7 +1224,7 @@ libxlDomainMigrationSrcPerform(libxlDriv const char *dconnuri G_GNUC_UNUSED, const char *uri_str, const char *dname G_GNUC_UNUSED, @@ -255,7 +255,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c { libxlDomainObjPrivatePtr priv = vm->privateData; char *hostname = NULL; -@@ -1242,7 +1263,7 @@ libxlDomainMigrationSrcPerform(libxlDriv +@@ -1239,7 +1260,7 @@ libxlDomainMigrationSrcPerform(libxlDriv /* suspend vm and send saved data to dst through socket fd */ virObjectUnlock(vm); @@ -264,10 +264,10 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.c virObjectLock(vm); if (ret == 0) { -Index: libvirt-5.9.0/src/libxl/libxl_migration.h +Index: libvirt-5.10.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_migration.h -+++ libvirt-5.9.0/src/libxl/libxl_migration.h +--- libvirt-5.10.0.orig/src/libxl/libxl_migration.h ++++ libvirt-5.10.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,11 +312,11 @@ Index: libvirt-5.9.0/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationDstFinish(virConnectPtr dconn, -Index: libvirt-5.9.0/tools/virsh-domain.c +Index: libvirt-5.10.0/tools/virsh-domain.c =================================================================== ---- libvirt-5.9.0.orig/tools/virsh-domain.c -+++ libvirt-5.9.0/tools/virsh-domain.c -@@ -10542,6 +10542,22 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-5.10.0.orig/tools/virsh-domain.c ++++ libvirt-5.10.0/tools/virsh-domain.c +@@ -10524,6 +10524,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_INT, .help = N_("migration bandwidth limit in MiB/s") }, @@ -339,7 +339,7 @@ Index: libvirt-5.9.0/tools/virsh-domain.c {.name = NULL} }; -@@ -10565,6 +10581,7 @@ doMigrate(void *opaque) +@@ -10547,6 +10563,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -347,7 +347,7 @@ Index: libvirt-5.9.0/tools/virsh-domain.c sigemptyset(&sigmask); sigaddset(&sigmask, SIGINT); -@@ -10684,6 +10701,27 @@ doMigrate(void *opaque) +@@ -10666,6 +10683,27 @@ doMigrate(void *opaque) goto save_error; } @@ -375,11 +375,11 @@ Index: libvirt-5.9.0/tools/virsh-domain.c if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-5.9.0/tools/virsh.pod +Index: libvirt-5.10.0/tools/virsh.pod =================================================================== ---- libvirt-5.9.0.orig/tools/virsh.pod -+++ libvirt-5.9.0/tools/virsh.pod -@@ -2254,6 +2254,14 @@ I<--parallel-connections>. Parallel conn +--- libvirt-5.10.0.orig/tools/virsh.pod ++++ libvirt-5.10.0/tools/virsh.pod +@@ -2265,6 +2265,14 @@ I<--parallel-connections>. Parallel conn network link between the source and the target and thus speeding up the migration. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 298e365..eeb627a 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -7,11 +7,11 @@ and npiv. For more details, see bsc#954872 and FATE#319810 -Index: libvirt-5.9.0/src/libxl/libxl_conf.c +Index: libvirt-5.10.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_conf.c -+++ libvirt-5.9.0/src/libxl/libxl_conf.c -@@ -880,6 +880,25 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c ++++ libvirt-5.10.0/src/libxl/libxl_conf.c +@@ -869,6 +869,25 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -37,7 +37,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_conf.c static void libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) { -@@ -1020,6 +1039,7 @@ libxlMakeNetworkDiskSrc(virStorageSource +@@ -1009,6 +1028,7 @@ libxlMakeNetworkDiskSrc(virStorageSource int libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) { @@ -45,7 +45,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_conf.c const char *driver = virDomainDiskGetDriver(l_disk); int format = virDomainDiskGetFormat(l_disk); int actual_type = virStorageSourceGetActualType(l_disk->src); -@@ -1035,7 +1055,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1024,7 +1044,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0) return -1; } else { @@ -54,7 +54,7 @@ Index: libvirt-5.9.0/src/libxl/libxl_conf.c } x_disk->vdev = g_strdup(l_disk->dst); -@@ -1146,6 +1166,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -1135,6 +1155,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 c226e00..8699f6b 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-5.9.0/src/lxc/lxc_controller.c +Index: libvirt-5.10.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-5.9.0.orig/src/lxc/lxc_controller.c -+++ libvirt-5.9.0/src/lxc/lxc_controller.c +--- libvirt-5.10.0.orig/src/lxc/lxc_controller.c ++++ libvirt-5.10.0/src/lxc/lxc_controller.c @@ -69,6 +69,7 @@ #include "rpc/virnetdaemon.h" #include "virstring.h" @@ -25,7 +25,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_controller.c #define VIR_FROM_THIS VIR_FROM_LXC -@@ -2010,6 +2011,7 @@ static int virLXCControllerDeleteInterfa +@@ -1985,6 +1986,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; } @@ -33,10 +33,10 @@ Index: libvirt-5.9.0/src/lxc/lxc_controller.c return ret; } -Index: libvirt-5.9.0/src/lxc/lxc_driver.c +Index: libvirt-5.10.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/lxc/lxc_driver.c -+++ libvirt-5.9.0/src/lxc/lxc_driver.c +--- libvirt-5.10.0.orig/src/lxc/lxc_driver.c ++++ libvirt-5.10.0/src/lxc/lxc_driver.c @@ -70,6 +70,7 @@ #include "virtime.h" #include "virtypedparam.h" @@ -45,7 +45,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_driver.c #include "virstring.h" #include "viraccessapicheck.h" #include "viraccessapichecklxc.h" -@@ -3919,6 +3920,7 @@ lxcDomainAttachDeviceNetLive(virConnectP +@@ -3918,6 +3919,7 @@ lxcDomainAttachDeviceNetLive(virConnectP case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_ETHERNET: ignore_value(virNetDevVethDelete(veth)); @@ -53,7 +53,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_driver.c break; case VIR_DOMAIN_NET_TYPE_DIRECT: -@@ -4363,6 +4365,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb +@@ -4359,6 +4361,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb virDomainAuditNet(vm, detach, NULL, "detach", false); goto cleanup; } @@ -61,10 +61,10 @@ Index: libvirt-5.9.0/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-5.9.0/src/lxc/lxc_process.c +Index: libvirt-5.10.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-5.9.0.orig/src/lxc/lxc_process.c -+++ libvirt-5.9.0/src/lxc/lxc_process.c +--- libvirt-5.10.0.orig/src/lxc/lxc_process.c ++++ libvirt-5.10.0/src/lxc/lxc_process.c @@ -51,6 +51,7 @@ #include "viratomic.h" #include "virprocess.h" @@ -73,7 +73,7 @@ Index: libvirt-5.9.0/src/lxc/lxc_process.c #include "netdev_bandwidth_conf.h" #define VIR_FROM_THIS VIR_FROM_LXC -@@ -232,6 +233,7 @@ static void virLXCProcessCleanup(virLXCD +@@ -231,6 +232,7 @@ static void virLXCProcessCleanup(virLXCD VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname)); } } 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 ee62b2e..aba7993 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-5.9.0/src/network/bridge_driver.c +Index: libvirt-5.10.0/src/network/bridge_driver.c =================================================================== ---- libvirt-5.9.0.orig/src/network/bridge_driver.c -+++ libvirt-5.9.0/src/network/bridge_driver.c -@@ -1512,7 +1512,14 @@ networkDnsmasqConfContents(virNetworkObj +--- libvirt-5.10.0.orig/src/network/bridge_driver.c ++++ libvirt-5.10.0/src/network/bridge_driver.c +@@ -1499,7 +1499,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-5.9.0/src/network/bridge_driver.c } if (ipdef->tftproot) { -Index: libvirt-5.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +Index: libvirt-5.10.0/tests/networkxml2confdata/dhcp6host-routed-network.conf =================================================================== ---- libvirt-5.9.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf -+++ libvirt-5.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +--- libvirt-5.10.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf ++++ libvirt-5.10.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 0468c94..f9d2f54 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-5.9.0/src/util/virarch.c +Index: libvirt-5.10.0/src/util/virarch.c =================================================================== ---- libvirt-5.9.0.orig/src/util/virarch.c -+++ libvirt-5.9.0/src/util/virarch.c +--- libvirt-5.10.0.orig/src/util/virarch.c ++++ libvirt-5.10.0/src/util/virarch.c @@ -172,6 +172,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 b45584a..d0da06a 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-5.9.0/src/security/apparmor/libvirt-qemu +Index: libvirt-5.10.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-5.9.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-5.9.0/src/security/apparmor/libvirt-qemu +--- libvirt-5.10.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-5.10.0/src/security/apparmor/libvirt-qemu @@ -228,3 +228,6 @@ # required for sasl GSSAPI plugin /etc/gss/mech.d/ r, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index b444131..37c4c3f 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,11 +8,11 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-5.9.0/src/libxl/xen_common.c +Index: libvirt-5.10.0/src/libxl/xen_common.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/xen_common.c -+++ libvirt-5.9.0/src/libxl/xen_common.c -@@ -383,12 +383,19 @@ xenParsePCI(char *entry) +--- libvirt-5.10.0.orig/src/libxl/xen_common.c ++++ libvirt-5.10.0/src/libxl/xen_common.c +@@ -381,12 +381,19 @@ xenParsePCI(char *entry) int busID; int slotID; int funcID; @@ -32,7 +32,7 @@ Index: libvirt-5.9.0/src/libxl/xen_common.c if (!(nextkey = strchr(key, ':'))) return NULL; if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) < 0) { -@@ -433,10 +440,30 @@ xenParsePCI(char *entry) +@@ -431,10 +438,30 @@ xenParsePCI(char *entry) if (virStrToLong_i(func, NULL, 16, &funcID) < 0) return NULL; diff --git a/suse-apparmor-libnl-paths.patch b/suse-apparmor-libnl-paths.patch index 278c3a4..2a88779 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-5.9.0/src/security/apparmor/libvirt-qemu +Index: libvirt-5.10.0/src/security/apparmor/libvirt-qemu =================================================================== ---- libvirt-5.9.0.orig/src/security/apparmor/libvirt-qemu -+++ libvirt-5.9.0/src/security/apparmor/libvirt-qemu +--- libvirt-5.10.0.orig/src/security/apparmor/libvirt-qemu ++++ libvirt-5.10.0/src/security/apparmor/libvirt-qemu @@ -63,6 +63,7 @@ #/dev/fb* rw, @@ -20,10 +20,10 @@ Index: libvirt-5.9.0/src/security/apparmor/libvirt-qemu @{HOME}/.pulse-cookie rwk, owner /root/.pulse-cookie rwk, owner /root/.pulse/ rw, -Index: libvirt-5.9.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-5.10.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-5.9.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper -+++ libvirt-5.9.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-5.10.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper ++++ libvirt-5.10.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper @@ -20,7 +20,7 @@ profile virt-aa-helper /usr/{lib,lib64}/ # Used when internally running another command (namely apparmor_parser) @{PROC}/@{pid}/fd/ r, diff --git a/suse-libvirt-guests-service.patch b/suse-libvirt-guests-service.patch index 0f0c16c..c48f9f1 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-5.9.0/tools/libvirt-guests.sh.in +Index: libvirt-5.10.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-5.9.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-5.9.0/tools/libvirt-guests.sh.in +--- libvirt-5.10.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-5.10.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -163,10 +163,10 @@ Index: libvirt-5.9.0/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-5.9.0/tools/libvirt-guests.sysconf +Index: libvirt-5.10.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-5.9.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-5.9.0/tools/libvirt-guests.sysconf +--- libvirt-5.10.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-5.10.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/suse-libvirtd-disable-tls.patch b/suse-libvirtd-disable-tls.patch index cf2640c..7ac755a 100644 --- a/suse-libvirtd-disable-tls.patch +++ b/suse-libvirtd-disable-tls.patch @@ -3,11 +3,11 @@ 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-5.9.0/src/remote/remote_daemon_config.c +Index: libvirt-5.10.0/src/remote/remote_daemon_config.c =================================================================== ---- libvirt-5.9.0.orig/src/remote/remote_daemon_config.c -+++ libvirt-5.9.0/src/remote/remote_daemon_config.c -@@ -107,7 +107,7 @@ daemonConfigNew(bool privileged G_GNUC_U +--- libvirt-5.10.0.orig/src/remote/remote_daemon_config.c ++++ libvirt-5.10.0/src/remote/remote_daemon_config.c +@@ -104,7 +104,7 @@ daemonConfigNew(bool privileged G_GNUC_U #ifdef WITH_IP # ifdef LIBVIRTD @@ -16,10 +16,10 @@ Index: libvirt-5.9.0/src/remote/remote_daemon_config.c # else /* ! LIBVIRTD */ data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */ # endif /* ! LIBVIRTD */ -Index: libvirt-5.9.0/src/remote/libvirtd.conf.in +Index: libvirt-5.10.0/src/remote/libvirtd.conf.in =================================================================== ---- libvirt-5.9.0.orig/src/remote/libvirtd.conf.in -+++ libvirt-5.9.0/src/remote/libvirtd.conf.in +--- libvirt-5.10.0.orig/src/remote/libvirtd.conf.in ++++ libvirt-5.10.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 0cd8c69..a12bb4e 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-5.9.0/src/remote/libvirtd.sysconf +Index: libvirt-5.10.0/src/remote/libvirtd.sysconf =================================================================== ---- libvirt-5.9.0.orig/src/remote/libvirtd.sysconf -+++ libvirt-5.9.0/src/remote/libvirtd.sysconf +--- libvirt-5.10.0.orig/src/remote/libvirtd.sysconf ++++ libvirt-5.10.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 365f3a0..495754e 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-5.9.0/src/libxl/libxl.conf +Index: libvirt-5.10.0/src/libxl/libxl.conf =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl.conf -+++ libvirt-5.9.0/src/libxl/libxl.conf +--- libvirt-5.10.0.orig/src/libxl/libxl.conf ++++ libvirt-5.10.0/src/libxl/libxl.conf @@ -4,12 +4,11 @@ # Enable autoballooning of domain0 @@ -27,19 +27,11 @@ Index: libvirt-5.9.0/src/libxl/libxl.conf # In order to prevent accidentally starting two domains that -Index: libvirt-5.9.0/src/libxl/libxl_conf.c +Index: libvirt-5.10.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-5.9.0.orig/src/libxl/libxl_conf.c -+++ libvirt-5.9.0/src/libxl/libxl_conf.c -@@ -22,7 +22,6 @@ - - #include - --#include - #include - #include - #include -@@ -1715,14 +1714,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa +--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c ++++ libvirt-5.10.0/src/libxl/libxl_conf.c +@@ -1704,15 +1704,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa /* * Get domain0 autoballoon configuration. Honor user-specified * setting in libxl.conf first. If not specified, autoballooning @@ -51,29 +43,24 @@ Index: libvirt-5.9.0/src/libxl/libxl_conf.c libxlGetAutoballoonConf(libxlDriverConfigPtr cfg, virConfPtr conf) { -- regex_t regex; +- g_autoptr(GRegex) regex = NULL; +- g_autoptr(GError) err = NULL; int res; res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon); -@@ -1731,21 +1728,8 @@ libxlGetAutoballoonConf(libxlDriverConfi +@@ -1721,15 +1718,8 @@ libxlGetAutoballoonConf(libxlDriverConfi else if (res == 1) return 0; -- if ((res = regcomp(®ex, -- "(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )", -- REG_NOSUB | REG_EXTENDED)) != 0) { -- char error[100]; -- regerror(res, ®ex, error, sizeof(error)); +- regex = g_regex_new("(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )", +- 0, 0, &err); +- if (!regex) { - virReportError(VIR_ERR_INTERNAL_ERROR, -- _("Failed to compile regex %s"), -- error); -- +- _("Failed to compile regex %s"), err->message); - return -1; - } - -- res = regexec(®ex, cfg->verInfo->commandline, 0, NULL, 0); -- regfree(®ex); -- cfg->autoballoon = res == REG_NOMATCH; +- cfg->autoballoon = !g_regex_match(regex, cfg->verInfo->commandline, 0, NULL); + /* make it explicit */ + cfg->autoballoon = 0; return 0; diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch index 9c32ab9..96d5ca7 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-5.9.0/src/qemu/qemu.conf +Index: libvirt-5.10.0/src/qemu/qemu.conf =================================================================== ---- libvirt-5.9.0.orig/src/qemu/qemu.conf -+++ libvirt-5.9.0/src/qemu/qemu.conf -@@ -796,10 +796,9 @@ +--- libvirt-5.10.0.orig/src/qemu/qemu.conf ++++ libvirt-5.10.0/src/qemu/qemu.conf +@@ -799,10 +799,9 @@ # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. #nvram = [ @@ -18,11 +18,11 @@ Index: libvirt-5.9.0/src/qemu/qemu.conf #] # The backend to use for handling stdout/stderr output from -Index: libvirt-5.9.0/src/qemu/qemu_conf.c +Index: libvirt-5.10.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-5.9.0.orig/src/qemu/qemu_conf.c -+++ libvirt-5.9.0/src/qemu/qemu_conf.c -@@ -96,10 +96,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver +--- libvirt-5.10.0.orig/src/qemu/qemu_conf.c ++++ libvirt-5.10.0/src/qemu/qemu_conf.c +@@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver #ifndef DEFAULT_LOADER_NVRAM # define DEFAULT_LOADER_NVRAM \ @@ -36,11 +36,11 @@ Index: libvirt-5.9.0/src/qemu/qemu_conf.c #endif -Index: libvirt-5.9.0/src/security/virt-aa-helper.c +Index: libvirt-5.10.0/src/security/virt-aa-helper.c =================================================================== ---- libvirt-5.9.0.orig/src/security/virt-aa-helper.c -+++ libvirt-5.9.0/src/security/virt-aa-helper.c -@@ -510,7 +510,8 @@ valid_path(const char *path, const bool +--- libvirt-5.10.0.orig/src/security/virt-aa-helper.c ++++ libvirt-5.10.0/src/security/virt-aa-helper.c +@@ -490,7 +490,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 */ diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 3dd14de..1633cdf 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-5.9.0/src/qemu/qemu.conf +Index: libvirt-5.10.0/src/qemu/qemu.conf =================================================================== ---- libvirt-5.9.0.orig/src/qemu/qemu.conf -+++ libvirt-5.9.0/src/qemu/qemu.conf +--- libvirt-5.10.0.orig/src/qemu/qemu.conf ++++ libvirt-5.10.0/src/qemu/qemu.conf @@ -420,10 +420,19 @@ # isolation, but it cannot appear in a list of drivers. # @@ -60,11 +60,11 @@ Index: libvirt-5.9.0/src/qemu/qemu.conf # #lock_manager = "lockd" -Index: libvirt-5.9.0/src/qemu/qemu_conf.c +Index: libvirt-5.10.0/src/qemu/qemu_conf.c =================================================================== ---- libvirt-5.9.0.orig/src/qemu/qemu_conf.c -+++ libvirt-5.9.0/src/qemu/qemu_conf.c -@@ -271,7 +271,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf +--- libvirt-5.10.0.orig/src/qemu/qemu_conf.c ++++ libvirt-5.10.0/src/qemu/qemu_conf.c +@@ -236,7 +236,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf cfg->clearEmulatorCapabilities = true; diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch index 9db2913..9808d1b 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-5.9.0/src/locking/virtlockd.sysconf +Index: libvirt-5.10.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-5.9.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-5.9.0/src/locking/virtlockd.sysconf +--- libvirt-5.10.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-5.10.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 f705ded..2f22db3 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-5.9.0/src/logging/virtlogd.sysconf +Index: libvirt-5.10.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-5.9.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-5.9.0/src/logging/virtlogd.sysconf +--- libvirt-5.10.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-5.10.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + diff --git a/virt-create-rootfs.patch b/virt-create-rootfs.patch index 161d7b6..fbf8a87 100644 --- a/virt-create-rootfs.patch +++ b/virt-create-rootfs.patch @@ -1,8 +1,8 @@ -Index: libvirt-5.8.0/tools/Makefile.am +Index: libvirt-5.10.0/tools/Makefile.am =================================================================== ---- libvirt-5.8.0.orig/tools/Makefile.am -+++ libvirt-5.8.0/tools/Makefile.am -@@ -59,6 +59,7 @@ PODFILES = \ +--- libvirt-5.10.0.orig/tools/Makefile.am ++++ libvirt-5.10.0/tools/Makefile.am +@@ -60,6 +60,7 @@ PODFILES = \ virt-sanlock-cleanup.pod \ virt-xml-validate.pod \ virsh.pod \ @@ -28,10 +28,10 @@ Index: libvirt-5.8.0/tools/Makefile.am virt-xml-validate: virt-xml-validate.in Makefile $(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \ -e 's|[@]VERSION@|$(VERSION)|g' \ -Index: libvirt-5.8.0/tools/virt-create-rootfs +Index: libvirt-5.10.0/tools/virt-create-rootfs =================================================================== --- /dev/null -+++ libvirt-5.8.0/tools/virt-create-rootfs ++++ libvirt-5.10.0/tools/virt-create-rootfs @@ -0,0 +1,214 @@ +#!/bin/sh +set -e @@ -247,10 +247,10 @@ Index: libvirt-5.8.0/tools/virt-create-rootfs + echo "pts/0" >> "$ROOT/etc/securetty" + chroot "$ROOT" /usr/bin/passwd +fi -Index: libvirt-5.8.0/tools/virt-create-rootfs.pod +Index: libvirt-5.10.0/tools/virt-create-rootfs.pod =================================================================== --- /dev/null -+++ libvirt-5.8.0/tools/virt-create-rootfs.pod ++++ libvirt-5.10.0/tools/virt-create-rootfs.pod @@ -0,0 +1,77 @@ +=head1 NAME +