forked from pool/libvirt
Accepting request 791854 from home:jfehlig:branches:Virtualization
- libxl: fix crash when initializing driver 88011ed2-libxl-driver-crash-fix.patch - Update to libvirt 6.2.0 - Many incremental improvements and bug fixes, see https://libvirt.org/news.html - Dropped patches: a30078cb-qemu-create-mp-target.patch, aeb909bf-qemu-multipath-fix.patch OBS-URL: https://build.opensuse.org/request/show/791854 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=818
This commit is contained in:
parent
81480eae55
commit
9940daa715
@ -18,10 +18,10 @@ them.
|
|||||||
create mode 100644 src/conf/domain_stats.c
|
create mode 100644 src/conf/domain_stats.c
|
||||||
create mode 100644 src/conf/domain_stats.h
|
create mode 100644 src/conf/domain_stats.h
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/conf/domain_stats.c
|
Index: libvirt-6.2.0/src/conf/domain_stats.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-6.1.0/src/conf/domain_stats.c
|
+++ libvirt-6.2.0/src/conf/domain_stats.c
|
||||||
@@ -0,0 +1,119 @@
|
@@ -0,0 +1,119 @@
|
||||||
+/*
|
+/*
|
||||||
+ * domain_stats.c: domain stats extraction helpers
|
+ * domain_stats.c: domain stats extraction helpers
|
||||||
@ -142,10 +142,10 @@ Index: libvirt-6.1.0/src/conf/domain_stats.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#undef STATS_ADD_NET_PARAM
|
+#undef STATS_ADD_NET_PARAM
|
||||||
Index: libvirt-6.1.0/src/conf/domain_stats.h
|
Index: libvirt-6.2.0/src/conf/domain_stats.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-6.1.0/src/conf/domain_stats.h
|
+++ libvirt-6.2.0/src/conf/domain_stats.h
|
||||||
@@ -0,0 +1,62 @@
|
@@ -0,0 +1,62 @@
|
||||||
+/*
|
+/*
|
||||||
+ * domain_stats.h: domain stats extraction helpers
|
+ * domain_stats.h: domain stats extraction helpers
|
||||||
@ -209,10 +209,10 @@ Index: libvirt-6.1.0/src/conf/domain_stats.h
|
|||||||
+ virTypedParamListPtr params);
|
+ virTypedParamListPtr params);
|
||||||
+
|
+
|
||||||
+#endif /* __DOMAIN_STATS_H */
|
+#endif /* __DOMAIN_STATS_H */
|
||||||
Index: libvirt-6.1.0/src/libvirt_private.syms
|
Index: libvirt-6.2.0/src/libvirt_private.syms
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libvirt_private.syms
|
--- libvirt-6.2.0.orig/src/libvirt_private.syms
|
||||||
+++ libvirt-6.1.0/src/libvirt_private.syms
|
+++ libvirt-6.2.0/src/libvirt_private.syms
|
||||||
@@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate;
|
@@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate;
|
||||||
virDomainConfNWFilterTeardown;
|
virDomainConfNWFilterTeardown;
|
||||||
virDomainConfVMNWFilterTeardown;
|
virDomainConfVMNWFilterTeardown;
|
||||||
@ -223,7 +223,7 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
|
|||||||
|
|
||||||
# conf/interface_conf.h
|
# conf/interface_conf.h
|
||||||
virInterfaceDefFormat;
|
virInterfaceDefFormat;
|
||||||
@@ -1752,6 +1755,7 @@ virCgroupGetMemoryUsage;
|
@@ -1751,6 +1754,7 @@ virCgroupGetMemoryUsage;
|
||||||
virCgroupGetMemSwapHardLimit;
|
virCgroupGetMemSwapHardLimit;
|
||||||
virCgroupGetMemSwapUsage;
|
virCgroupGetMemSwapUsage;
|
||||||
virCgroupGetPercpuStats;
|
virCgroupGetPercpuStats;
|
||||||
@ -231,10 +231,10 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
|
|||||||
virCgroupHasController;
|
virCgroupHasController;
|
||||||
virCgroupHasEmptyTasks;
|
virCgroupHasEmptyTasks;
|
||||||
virCgroupKillPainfully;
|
virCgroupKillPainfully;
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
Index: libvirt-6.2.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-6.2.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu_driver.c
|
+++ libvirt-6.2.0/src/qemu/qemu_driver.c
|
||||||
@@ -64,6 +64,7 @@
|
@@ -64,6 +64,7 @@
|
||||||
#include "virarptable.h"
|
#include "virarptable.h"
|
||||||
#include "viruuid.h"
|
#include "viruuid.h"
|
||||||
@ -243,7 +243,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
|||||||
#include "domain_audit.h"
|
#include "domain_audit.h"
|
||||||
#include "domain_cgroup.h"
|
#include "domain_cgroup.h"
|
||||||
#include "domain_driver.h"
|
#include "domain_driver.h"
|
||||||
@@ -20458,13 +20459,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
@@ -20642,13 +20643,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||||
virTypedParamListPtr params,
|
virTypedParamListPtr params,
|
||||||
unsigned int privflags G_GNUC_UNUSED)
|
unsigned int privflags G_GNUC_UNUSED)
|
||||||
{
|
{
|
||||||
@ -258,7 +258,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -20767,17 +20762,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
@@ -20951,17 +20946,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||||
if (!priv->cgroup)
|
if (!priv->cgroup)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -20945,76 +20930,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
@@ -21129,76 +21114,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -355,10 +355,10 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
|||||||
|
|
||||||
/* refresh information by opening images on the disk */
|
/* refresh information by opening images on the disk */
|
||||||
static int
|
static int
|
||||||
Index: libvirt-6.1.0/src/util/vircgroup.c
|
Index: libvirt-6.2.0/src/util/vircgroup.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/util/vircgroup.c
|
--- libvirt-6.2.0.orig/src/util/vircgroup.c
|
||||||
+++ libvirt-6.1.0/src/util/vircgroup.c
|
+++ libvirt-6.2.0/src/util/vircgroup.c
|
||||||
@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control
|
@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -406,10 +406,10 @@ Index: libvirt-6.1.0/src/util/vircgroup.c
|
|||||||
int
|
int
|
||||||
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
|
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
|
||||||
bool create G_GNUC_UNUSED,
|
bool create G_GNUC_UNUSED,
|
||||||
Index: libvirt-6.1.0/src/util/vircgroup.h
|
Index: libvirt-6.2.0/src/util/vircgroup.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/util/vircgroup.h
|
--- libvirt-6.2.0.orig/src/util/vircgroup.h
|
||||||
+++ libvirt-6.1.0/src/util/vircgroup.h
|
+++ libvirt-6.2.0/src/util/vircgroup.h
|
||||||
@@ -23,6 +23,7 @@
|
@@ -23,6 +23,7 @@
|
||||||
|
|
||||||
#include "virbitmap.h"
|
#include "virbitmap.h"
|
||||||
@ -425,10 +425,10 @@ Index: libvirt-6.1.0/src/util/vircgroup.h
|
|||||||
+
|
+
|
||||||
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
||||||
+ virTypedParamListPtr params);
|
+ virTypedParamListPtr params);
|
||||||
Index: libvirt-6.1.0/src/conf/Makefile.inc.am
|
Index: libvirt-6.2.0/src/conf/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/conf/Makefile.inc.am
|
--- libvirt-6.2.0.orig/src/conf/Makefile.inc.am
|
||||||
+++ libvirt-6.1.0/src/conf/Makefile.inc.am
|
+++ libvirt-6.2.0/src/conf/Makefile.inc.am
|
||||||
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
|
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
|
||||||
conf/domain_audit.h \
|
conf/domain_audit.h \
|
||||||
conf/domain_nwfilter.c \
|
conf/domain_nwfilter.c \
|
||||||
|
@ -19,11 +19,11 @@ reworking this patch and submitting it to upstream libvirt.
|
|||||||
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
|
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 91 insertions(+)
|
1 file changed, 91 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
@@ -5288,6 +5288,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
@@ -5287,6 +5287,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||||
|
|
||||||
#undef LIBXL_SET_MEMSTAT
|
#undef LIBXL_SET_MEMSTAT
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
|||||||
static int
|
static int
|
||||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||||
virDomainJobInfoPtr info)
|
virDomainJobInfoPtr info)
|
||||||
@@ -6706,6 +6796,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6756,6 +6846,7 @@ static virHypervisorDriver libxlHypervis
|
||||||
#endif
|
#endif
|
||||||
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
||||||
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
||||||
|
@ -9,10 +9,10 @@ them using the existing API.
|
|||||||
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 138 insertions(+)
|
1 file changed, 138 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
Index: libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-6.1.0/src/lxc/lxc_driver.c
|
+++ libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||||
@@ -74,6 +74,7 @@
|
@@ -74,6 +74,7 @@
|
||||||
#include "netdev_bandwidth_conf.h"
|
#include "netdev_bandwidth_conf.h"
|
||||||
#include "virsocket.h"
|
#include "virsocket.h"
|
||||||
|
38
88011ed2-libxl-driver-crash-fix.patch
Normal file
38
88011ed2-libxl-driver-crash-fix.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
commit 88011ed280c4f946a7b8e7ffcea2335eb075de60
|
||||||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Date: Fri Apr 3 15:51:48 2020 -0600
|
||||||
|
|
||||||
|
libxl: fix crash when initializing driver
|
||||||
|
|
||||||
|
Commit 54a401af478 split out DriverConfigInit from DriverConfigNew, but
|
||||||
|
then called it a bit late from libxlStateInitialize. The cfg is used in
|
||||||
|
libxlDriverConfigLoadFile and when uninitialized results in a crash.
|
||||||
|
Calling DriverConfigInit immediately after DriverConfigNew fixes the
|
||||||
|
crash.
|
||||||
|
|
||||||
|
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Reviewed-by: Erik Skultety <eskultet@redhat.com>
|
||||||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
|
||||||
|
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||||
|
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
|
@@ -702,14 +702,14 @@ libxlStateInitialize(bool privileged,
|
||||||
|
if (!(cfg = libxlDriverConfigNew()))
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
+ if (libxlDriverConfigInit(cfg) < 0)
|
||||||
|
+ goto error;
|
||||||
|
+
|
||||||
|
driverConf = g_strdup_printf("%s/libxl.conf", cfg->configBaseDir);
|
||||||
|
|
||||||
|
if (libxlDriverConfigLoadFile(cfg, driverConf) < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
- if (libxlDriverConfigInit(cfg) < 0)
|
||||||
|
- goto error;
|
||||||
|
-
|
||||||
|
/* Register the callbacks providing access to libvirt's event loop */
|
||||||
|
libxl_osevent_register_hooks(cfg->ctx, &libxl_osevent_callbacks, cfg->ctx);
|
||||||
|
|
@ -1,336 +0,0 @@
|
|||||||
commit a30078cb832646177defd256e77c632905f1e6d0
|
|
||||||
Author: Michal Prívozník <mprivozn@redhat.com>
|
|
||||||
Date: Wed Nov 13 15:34:50 2019 +0100
|
|
||||||
|
|
||||||
qemu: Create multipath targets for PRs
|
|
||||||
|
|
||||||
If a disk has persistent reservations enabled, qemu-pr-helper
|
|
||||||
might open not only /dev/mapper/control but also individual
|
|
||||||
targets of the multipath device. We are already querying for them
|
|
||||||
in CGroups, but now we have to create them in the namespace too.
|
|
||||||
This was brought up in [1].
|
|
||||||
|
|
||||||
1: https://bugzilla.redhat.com/show_bug.cgi?id=1711045#c61
|
|
||||||
|
|
||||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
Tested-by: Lin Ma <LMa@suse.com>
|
|
||||||
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu_domain.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu_domain.c
|
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu_domain.c
|
|
||||||
@@ -62,6 +62,7 @@
|
|
||||||
#include "virdomaincheckpointobjlist.h"
|
|
||||||
#include "backup_conf.h"
|
|
||||||
#include "virutil.h"
|
|
||||||
+#include "virdevmapper.h"
|
|
||||||
|
|
||||||
#ifdef __linux__
|
|
||||||
# include <sys/sysmacros.h>
|
|
||||||
@@ -14495,6 +14496,9 @@ qemuDomainSetupDisk(virQEMUDriverConfigP
|
|
||||||
bool hasNVMe = false;
|
|
||||||
|
|
||||||
for (next = disk->src; virStorageSourceIsBacking(next); next = next->backingStore) {
|
|
||||||
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
|
|
||||||
+ size_t i;
|
|
||||||
+
|
|
||||||
if (next->type == VIR_STORAGE_TYPE_NVME) {
|
|
||||||
g_autofree char *nvmePath = NULL;
|
|
||||||
|
|
||||||
@@ -14513,6 +14517,19 @@ qemuDomainSetupDisk(virQEMUDriverConfigP
|
|
||||||
|
|
||||||
if (qemuDomainCreateDevice(next->path, data, false) < 0)
|
|
||||||
return -1;
|
|
||||||
+
|
|
||||||
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
|
|
||||||
+ errno != ENOSYS && errno != EBADF) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Unable to get devmapper targets for %s"),
|
|
||||||
+ next->path);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ for (i = 0; targetPaths && targetPaths[i]; i++) {
|
|
||||||
+ if (qemuDomainCreateDevice(targetPaths[i], data, false) < 0)
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -15528,21 +15545,19 @@ qemuDomainNamespaceSetupDisk(virDomainOb
|
|
||||||
virStorageSourcePtr src)
|
|
||||||
{
|
|
||||||
virStorageSourcePtr next;
|
|
||||||
- char **paths = NULL;
|
|
||||||
+ VIR_AUTOSTRINGLIST paths = NULL;
|
|
||||||
size_t npaths = 0;
|
|
||||||
bool hasNVMe = false;
|
|
||||||
- g_autofree char *dmPath = NULL;
|
|
||||||
- g_autofree char *vfioPath = NULL;
|
|
||||||
- int ret = -1;
|
|
||||||
|
|
||||||
for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
|
|
||||||
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
|
|
||||||
g_autofree char *tmpPath = NULL;
|
|
||||||
|
|
||||||
if (next->type == VIR_STORAGE_TYPE_NVME) {
|
|
||||||
hasNVMe = true;
|
|
||||||
|
|
||||||
if (!(tmpPath = virPCIDeviceAddressGetIOMMUGroupDev(&next->nvme->pciAddr)))
|
|
||||||
- goto cleanup;
|
|
||||||
+ return -1;
|
|
||||||
} else {
|
|
||||||
if (virStorageSourceIsEmpty(next) ||
|
|
||||||
!virStorageSourceIsLocalStorage(next)) {
|
|
||||||
@@ -15553,30 +15568,35 @@ qemuDomainNamespaceSetupDisk(virDomainOb
|
|
||||||
tmpPath = g_strdup(next->path);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (VIR_APPEND_ELEMENT(paths, npaths, tmpPath) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
+ if (virStringListAdd(&paths, tmpPath) < 0)
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
|
|
||||||
+ errno != ENOSYS && errno != EBADF) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Unable to get devmapper targets for %s"),
|
|
||||||
+ next->path);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (virStringListMerge(&paths, &targetPaths) < 0)
|
|
||||||
+ return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* qemu-pr-helper might require access to /dev/mapper/control. */
|
|
||||||
- if (src->pr) {
|
|
||||||
- dmPath = g_strdup(QEMU_DEVICE_MAPPER_CONTROL_PATH);
|
|
||||||
- if (VIR_APPEND_ELEMENT_COPY(paths, npaths, dmPath) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
- }
|
|
||||||
+ if (src->pr &&
|
|
||||||
+ virStringListAdd(&paths, QEMU_DEVICE_MAPPER_CONTROL_PATH) < 0)
|
|
||||||
+ return -1;
|
|
||||||
|
|
||||||
- if (hasNVMe) {
|
|
||||||
- vfioPath = g_strdup(QEMU_DEV_VFIO);
|
|
||||||
- if (VIR_APPEND_ELEMENT(paths, npaths, vfioPath) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
- }
|
|
||||||
+ if (hasNVMe &&
|
|
||||||
+ virStringListAdd(&paths, QEMU_DEV_VFIO) < 0)
|
|
||||||
+ return -1;
|
|
||||||
|
|
||||||
+ npaths = virStringListLength((const char **) paths);
|
|
||||||
if (qemuDomainNamespaceMknodPaths(vm, (const char **) paths, npaths) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
+ return -1;
|
|
||||||
|
|
||||||
- ret = 0;
|
|
||||||
- cleanup:
|
|
||||||
- virStringListFreeCount(paths, npaths);
|
|
||||||
- return ret;
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/util/virdevmapper.h
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-6.1.0.orig/src/util/virdevmapper.h
|
|
||||||
+++ libvirt-6.1.0/src/util/virdevmapper.h
|
|
||||||
@@ -20,6 +20,8 @@
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
+#include "internal.h"
|
|
||||||
+
|
|
||||||
int
|
|
||||||
virDevMapperGetTargets(const char *path,
|
|
||||||
- char ***devPaths);
|
|
||||||
+ char ***devPaths) G_GNUC_NO_INLINE;
|
|
||||||
Index: libvirt-6.1.0/src/util/virutil.h
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-6.1.0.orig/src/util/virutil.h
|
|
||||||
+++ libvirt-6.1.0/src/util/virutil.h
|
|
||||||
@@ -120,7 +120,7 @@ bool virValidateWWN(const char *wwn);
|
|
||||||
|
|
||||||
int virGetDeviceID(const char *path,
|
|
||||||
int *maj,
|
|
||||||
- int *min);
|
|
||||||
+ int *min) G_GNUC_NO_INLINE;
|
|
||||||
int virSetDeviceUnprivSGIO(const char *path,
|
|
||||||
const char *sysfs_dir,
|
|
||||||
int unpriv_sgio);
|
|
||||||
Index: libvirt-6.1.0/tests/qemuhotplugmock.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-6.1.0.orig/tests/qemuhotplugmock.c
|
|
||||||
+++ libvirt-6.1.0/tests/qemuhotplugmock.c
|
|
||||||
@@ -19,7 +19,24 @@
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include "qemu/qemu_hotplug.h"
|
|
||||||
+#include "qemu/qemu_process.h"
|
|
||||||
#include "conf/domain_conf.h"
|
|
||||||
+#include "virdevmapper.h"
|
|
||||||
+#include "virutil.h"
|
|
||||||
+#include "virmock.h"
|
|
||||||
+
|
|
||||||
+static int (*real_virGetDeviceID)(const char *path, int *maj, int *min);
|
|
||||||
+static bool (*real_virFileExists)(const char *path);
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+init_syms(void)
|
|
||||||
+{
|
|
||||||
+ if (real_virFileExists)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ VIR_MOCK_REAL_INIT(virGetDeviceID);
|
|
||||||
+ VIR_MOCK_REAL_INIT(virFileExists);
|
|
||||||
+}
|
|
||||||
|
|
||||||
unsigned long long
|
|
||||||
qemuDomainGetUnplugTimeout(virDomainObjPtr vm G_GNUC_UNUSED)
|
|
||||||
@@ -31,3 +48,61 @@ qemuDomainGetUnplugTimeout(virDomainObjP
|
|
||||||
return 200;
|
|
||||||
return 100;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+virDevMapperGetTargets(const char *path,
|
|
||||||
+ char ***devPaths)
|
|
||||||
+{
|
|
||||||
+ *devPaths = NULL;
|
|
||||||
+
|
|
||||||
+ if (STREQ(path, "/dev/mapper/virt")) {
|
|
||||||
+ *devPaths = g_new(char *, 4);
|
|
||||||
+ (*devPaths)[0] = g_strdup("/dev/block/8:0"); /* /dev/sda */
|
|
||||||
+ (*devPaths)[1] = g_strdup("/dev/block/8:16"); /* /dev/sdb */
|
|
||||||
+ (*devPaths)[2] = g_strdup("/dev/block/8:32"); /* /dev/sdc */
|
|
||||||
+ (*devPaths)[3] = NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+virGetDeviceID(const char *path, int *maj, int *min)
|
|
||||||
+{
|
|
||||||
+ init_syms();
|
|
||||||
+
|
|
||||||
+ if (STREQ(path, "/dev/mapper/virt")) {
|
|
||||||
+ *maj = 254;
|
|
||||||
+ *min = 0;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return real_virGetDeviceID(path, maj, min);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+bool
|
|
||||||
+virFileExists(const char *path)
|
|
||||||
+{
|
|
||||||
+ init_syms();
|
|
||||||
+
|
|
||||||
+ if (STREQ(path, "/dev/mapper/virt"))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ return real_virFileExists(path);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+qemuProcessStartManagedPRDaemon(virDomainObjPtr vm G_GNUC_UNUSED)
|
|
||||||
+{
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+qemuProcessKillManagedPRDaemon(virDomainObjPtr vm G_GNUC_UNUSED)
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
Index: libvirt-6.1.0/tests/qemuhotplugtestdevices/qemuhotplug-disk-scsi-multipath.xml
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ libvirt-6.1.0/tests/qemuhotplugtestdevices/qemuhotplug-disk-scsi-multipath.xml
|
|
||||||
@@ -0,0 +1,8 @@
|
|
||||||
+<disk type='block' device='lun'>
|
|
||||||
+ <driver name='qemu' type='raw'/>
|
|
||||||
+ <source dev='/dev/mapper/virt'>
|
|
||||||
+ <reservations managed='yes'/>
|
|
||||||
+ </source>
|
|
||||||
+ <target dev='sda' bus='scsi'/>
|
|
||||||
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
|
||||||
+</disk>
|
|
||||||
Index: libvirt-6.1.0/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ libvirt-6.1.0/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml
|
|
||||||
@@ -0,0 +1,62 @@
|
|
||||||
+<domain type='kvm' id='7'>
|
|
||||||
+ <name>hotplug</name>
|
|
||||||
+ <uuid>d091ea82-29e6-2e34-3005-f02617b36e87</uuid>
|
|
||||||
+ <memory unit='KiB'>4194304</memory>
|
|
||||||
+ <currentMemory unit='KiB'>4194304</currentMemory>
|
|
||||||
+ <vcpu placement='static'>4</vcpu>
|
|
||||||
+ <os>
|
|
||||||
+ <type arch='x86_64' machine='pc'>hvm</type>
|
|
||||||
+ <boot dev='hd'/>
|
|
||||||
+ </os>
|
|
||||||
+ <features>
|
|
||||||
+ <acpi/>
|
|
||||||
+ <apic/>
|
|
||||||
+ <pae/>
|
|
||||||
+ </features>
|
|
||||||
+ <clock offset='utc'/>
|
|
||||||
+ <on_poweroff>destroy</on_poweroff>
|
|
||||||
+ <on_reboot>restart</on_reboot>
|
|
||||||
+ <on_crash>restart</on_crash>
|
|
||||||
+ <devices>
|
|
||||||
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
|
|
||||||
+ <disk type='block' device='lun'>
|
|
||||||
+ <driver name='qemu' type='raw'/>
|
|
||||||
+ <source dev='/dev/mapper/virt'>
|
|
||||||
+ <reservations managed='yes'>
|
|
||||||
+ <source type='unix' path='/tmp/lib/domain-7-hotplug/pr-helper0.sock' mode='client'/>
|
|
||||||
+ </reservations>
|
|
||||||
+ </source>
|
|
||||||
+ <backingStore/>
|
|
||||||
+ <target dev='sda' bus='scsi'/>
|
|
||||||
+ <alias name='scsi0-0-0-0'/>
|
|
||||||
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
|
||||||
+ </disk>
|
|
||||||
+ <controller type='usb' index='0'>
|
|
||||||
+ <alias name='usb'/>
|
|
||||||
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
|
||||||
+ </controller>
|
|
||||||
+ <controller type='ide' index='0'>
|
|
||||||
+ <alias name='ide'/>
|
|
||||||
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
|
|
||||||
+ </controller>
|
|
||||||
+ <controller type='scsi' index='0' model='virtio-scsi'>
|
|
||||||
+ <alias name='scsi0'/>
|
|
||||||
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
|
|
||||||
+ </controller>
|
|
||||||
+ <controller type='pci' index='0' model='pci-root'>
|
|
||||||
+ <alias name='pci'/>
|
|
||||||
+ </controller>
|
|
||||||
+ <controller type='virtio-serial' index='0'>
|
|
||||||
+ <alias name='virtio-serial0'/>
|
|
||||||
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
|
|
||||||
+ </controller>
|
|
||||||
+ <input type='mouse' bus='ps2'>
|
|
||||||
+ <alias name='input0'/>
|
|
||||||
+ </input>
|
|
||||||
+ <input type='keyboard' bus='ps2'>
|
|
||||||
+ <alias name='input1'/>
|
|
||||||
+ </input>
|
|
||||||
+ <memballoon model='none'/>
|
|
||||||
+ </devices>
|
|
||||||
+ <seclabel type='none' model='none'/>
|
|
||||||
+</domain>
|
|
@ -1,71 +0,0 @@
|
|||||||
commit aeb909bf9b4c3fa48d017475545df94f7c5d3b3a
|
|
||||||
Author: Michal Prívozník <mprivozn@redhat.com>
|
|
||||||
Date: Thu Mar 19 12:51:55 2020 +0100
|
|
||||||
|
|
||||||
qemu: Don't crash when getting targets for a multipath
|
|
||||||
|
|
||||||
In one of my previous commits I've introduced code that creates
|
|
||||||
all devices for given (possible) multipath target. But I've made
|
|
||||||
a mistake there - the code accesses 'next->path' without checking
|
|
||||||
if the disk source is local. Note that the 'next->path' is
|
|
||||||
NULL/doesn't make sense for VIR_STORAGE_TYPE_NVME.
|
|
||||||
|
|
||||||
Fixes: a30078cb832646177defd256e77c632905f1e6d0
|
|
||||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1814947
|
|
||||||
|
|
||||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
|
|
||||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu_domain.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu_domain.c
|
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu_domain.c
|
|
||||||
@@ -15550,7 +15550,6 @@ qemuDomainNamespaceSetupDisk(virDomainOb
|
|
||||||
bool hasNVMe = false;
|
|
||||||
|
|
||||||
for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
|
|
||||||
- VIR_AUTOSTRINGLIST targetPaths = NULL;
|
|
||||||
g_autofree char *tmpPath = NULL;
|
|
||||||
|
|
||||||
if (next->type == VIR_STORAGE_TYPE_NVME) {
|
|
||||||
@@ -15559,6 +15558,8 @@ qemuDomainNamespaceSetupDisk(virDomainOb
|
|
||||||
if (!(tmpPath = virPCIDeviceAddressGetIOMMUGroupDev(&next->nvme->pciAddr)))
|
|
||||||
return -1;
|
|
||||||
} else {
|
|
||||||
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
|
|
||||||
+
|
|
||||||
if (virStorageSourceIsEmpty(next) ||
|
|
||||||
!virStorageSourceIsLocalStorage(next)) {
|
|
||||||
/* Not creating device. Just continue. */
|
|
||||||
@@ -15566,20 +15567,20 @@ qemuDomainNamespaceSetupDisk(virDomainOb
|
|
||||||
}
|
|
||||||
|
|
||||||
tmpPath = g_strdup(next->path);
|
|
||||||
- }
|
|
||||||
|
|
||||||
- if (virStringListAdd(&paths, tmpPath) < 0)
|
|
||||||
- return -1;
|
|
||||||
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
|
|
||||||
+ errno != ENOSYS && errno != EBADF) {
|
|
||||||
+ virReportSystemError(errno,
|
|
||||||
+ _("Unable to get devmapper targets for %s"),
|
|
||||||
+ next->path);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
|
|
||||||
- errno != ENOSYS && errno != EBADF) {
|
|
||||||
- virReportSystemError(errno,
|
|
||||||
- _("Unable to get devmapper targets for %s"),
|
|
||||||
- next->path);
|
|
||||||
- return -1;
|
|
||||||
+ if (virStringListMerge(&paths, &targetPaths) < 0)
|
|
||||||
+ return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (virStringListMerge(&paths, &targetPaths) < 0)
|
|
||||||
+ if (virStringListAdd(&paths, tmpPath) < 0)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:167c185be45560e73dd3e14ed375778b555c01455192de2dafc4d0f74fabebc0
|
|
||||||
size 8276964
|
|
@ -1,11 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl5eV20ACgkQFViLJllr
|
|
||||||
6l2vngf/Vb7A4RA9HzmrysjfCD7yRYnjX9NzgApyQMsKOursQlXxeAHE9cKpc9hM
|
|
||||||
NyQ4+f9SVJnJ+Wd2Z8bZDY976Bg6obDdXnEuL00QBrBe+gsTEXf5fc4fRnV8/l3b
|
|
||||||
en1MEZ+VYFH6mmKUheumybOaPPc0DlgCBRXZj50UDHTdEqB4pQWxL2bIEOVIlepn
|
|
||||||
WEXv0v3CoWdsVUzvsVz2vNNPt3PW+hFHU4nAcTTMF/IJwbLIGMY3JTVV0imPD1PV
|
|
||||||
qLb3wSi0INrKLRfOJC51j2ILj1GQe33OTmVmxqJSFDBOvb7yf1j2VQ5T3jfIIpay
|
|
||||||
oWAnznrtezmG9Pq/hXPIABV7piYAYA==
|
|
||||||
=7yxg
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libvirt-6.2.0.tar.xz
Normal file
3
libvirt-6.2.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:aec8881f236917c4f8064918df546ed3aacd0bb8a2f312f4d37485721cce0fb1
|
||||||
|
size 8307248
|
11
libvirt-6.2.0.tar.xz.asc
Normal file
11
libvirt-6.2.0.tar.xz.asc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl6GOV8ACgkQFViLJllr
|
||||||
|
6l10PAgAi2s7PQLVyGL7xHK12AO7HfH/e2jNoE+LDJfJa1SQITYLW2x3zdEV27JW
|
||||||
|
SN8Hokf9dgRke0uJTBsQxcUxyRXFJkaGJ9pkUwkMuiUFA7fUWUPzBlBV8seaEqaf
|
||||||
|
102Zr/VWsP90FmrZ8oQ14VOEw8IB6Jmi07hd+9I6uY+PdBeUz5YtZ1pQYOda9v+a
|
||||||
|
yMsCDRusZKnpmVxbN1mlbmowq4rlJWDGouDpOFeB/u6RimdbAucYSfDF0RMz46Jt
|
||||||
|
wqUne7gAeCeP0GprHrM5/gURFcepXC9muB2iUY/uQyMN96bfVyjU9M1xlSQcGiOZ
|
||||||
|
Uuv0UCXfBYXFnhwb75RG91hxTGrlUg==
|
||||||
|
=wKUd
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
|
|||||||
|
|
||||||
From: <ro@suse.de>
|
From: <ro@suse.de>
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/cpu_map/ppc64_POWER8.xml
|
Index: libvirt-6.2.0/src/cpu_map/ppc64_POWER8.xml
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/cpu_map/ppc64_POWER8.xml
|
--- libvirt-6.2.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||||
+++ libvirt-6.1.0/src/cpu_map/ppc64_POWER8.xml
|
+++ libvirt-6.2.0/src/cpu_map/ppc64_POWER8.xml
|
||||||
@@ -4,5 +4,7 @@
|
@@ -4,5 +4,7 @@
|
||||||
<pvr value='0x004b0000' mask='0xffff0000'/>
|
<pvr value='0x004b0000' mask='0xffff0000'/>
|
||||||
<pvr value='0x004c0000' mask='0xffff0000'/>
|
<pvr value='0x004c0000' mask='0xffff0000'/>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-6.1.0/configure.ac
|
Index: libvirt-6.2.0/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/configure.ac
|
--- libvirt-6.2.0.orig/configure.ac
|
||||||
+++ libvirt-6.1.0/configure.ac
|
+++ libvirt-6.2.0/configure.ac
|
||||||
@@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH
|
@@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH
|
||||||
LIBVIRT_ARG_LIBXML
|
LIBVIRT_ARG_LIBXML
|
||||||
LIBVIRT_ARG_MACVTAP
|
LIBVIRT_ARG_MACVTAP
|
||||||
@ -26,10 +26,10 @@ Index: libvirt-6.1.0/configure.ac
|
|||||||
LIBVIRT_RESULT_NLS
|
LIBVIRT_RESULT_NLS
|
||||||
LIBVIRT_RESULT_NSS
|
LIBVIRT_RESULT_NSS
|
||||||
LIBVIRT_RESULT_NUMACTL
|
LIBVIRT_RESULT_NUMACTL
|
||||||
Index: libvirt-6.1.0/tools/virsh.c
|
Index: libvirt-6.2.0/tools/virsh.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tools/virsh.c
|
--- libvirt-6.2.0.orig/tools/virsh.c
|
||||||
+++ libvirt-6.1.0/tools/virsh.c
|
+++ libvirt-6.2.0/tools/virsh.c
|
||||||
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||||
vshPrint(ctl, " Interface");
|
vshPrint(ctl, " Interface");
|
||||||
# if defined(WITH_NETCF)
|
# if defined(WITH_NETCF)
|
||||||
@ -39,10 +39,10 @@ Index: libvirt-6.1.0/tools/virsh.c
|
|||||||
# elif defined(WITH_UDEV)
|
# elif defined(WITH_UDEV)
|
||||||
vshPrint(ctl, " udev");
|
vshPrint(ctl, " udev");
|
||||||
# endif
|
# endif
|
||||||
Index: libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
Index: libvirt-6.2.0/src/interface/interface_backend_netcf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/interface/interface_backend_netcf.c
|
--- libvirt-6.2.0.orig/src/interface/interface_backend_netcf.c
|
||||||
+++ libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
+++ libvirt-6.2.0/src/interface/interface_backend_netcf.c
|
||||||
@@ -21,7 +21,12 @@
|
@@ -21,7 +21,12 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@ -154,10 +154,10 @@ Index: libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
|||||||
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
||||||
Index: libvirt-6.1.0/src/interface/interface_driver.c
|
Index: libvirt-6.2.0/src/interface/interface_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/interface/interface_driver.c
|
--- libvirt-6.2.0.orig/src/interface/interface_driver.c
|
||||||
+++ libvirt-6.1.0/src/interface/interface_driver.c
|
+++ libvirt-6.2.0/src/interface/interface_driver.c
|
||||||
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
||||||
if (netcfIfaceRegister() == 0)
|
if (netcfIfaceRegister() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
@ -175,10 +175,10 @@ Index: libvirt-6.1.0/src/interface/interface_driver.c
|
|||||||
if (udevIfaceRegister() == 0)
|
if (udevIfaceRegister() == 0)
|
||||||
return 0;
|
return 0;
|
||||||
#endif /* WITH_UDEV */
|
#endif /* WITH_UDEV */
|
||||||
Index: libvirt-6.1.0/m4/virt-netcontrol.m4
|
Index: libvirt-6.2.0/m4/virt-netcontrol.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-6.1.0/m4/virt-netcontrol.m4
|
+++ libvirt-6.2.0/m4/virt-netcontrol.m4
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+dnl The libnetcontrol library
|
+dnl The libnetcontrol library
|
||||||
+dnl
|
+dnl
|
||||||
@ -219,10 +219,10 @@ Index: libvirt-6.1.0/m4/virt-netcontrol.m4
|
|||||||
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
|
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
|
||||||
+ LIBVIRT_RESULT_LIB([NETCONTROL])
|
+ LIBVIRT_RESULT_LIB([NETCONTROL])
|
||||||
+])
|
+])
|
||||||
Index: libvirt-6.1.0/src/interface/Makefile.inc.am
|
Index: libvirt-6.2.0/src/interface/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/interface/Makefile.inc.am
|
--- libvirt-6.2.0.orig/src/interface/Makefile.inc.am
|
||||||
+++ libvirt-6.1.0/src/interface/Makefile.inc.am
|
+++ libvirt-6.2.0/src/interface/Makefile.inc.am
|
||||||
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
|
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 6 14:30:29 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
- libxl: fix crash when initializing driver
|
||||||
|
88011ed2-libxl-driver-crash-fix.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 3 20:47:27 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
- Update to libvirt 6.2.0
|
||||||
|
- Many incremental improvements and bug fixes, see
|
||||||
|
https://libvirt.org/news.html
|
||||||
|
- Dropped patches:
|
||||||
|
a30078cb-qemu-create-mp-target.patch,
|
||||||
|
aeb909bf-qemu-multipath-fix.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
URL: http://libvirt.org/
|
URL: http://libvirt.org/
|
||||||
Version: 6.1.0
|
Version: 6.2.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Library providing a virtualization API
|
Summary: Library providing a virtualization API
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
@ -338,8 +338,7 @@ Source6: libvirtd-relocation-server.xml
|
|||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
Source100: %{name}-rpmlintrc
|
Source100: %{name}-rpmlintrc
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch0: a30078cb-qemu-create-mp-target.patch
|
Patch0: 88011ed2-libxl-driver-crash-fix.patch
|
||||||
Patch1: aeb909bf-qemu-multipath-fix.patch
|
|
||||||
# Patches pending upstream review
|
# Patches pending upstream review
|
||||||
Patch100: libxl-dom-reset.patch
|
Patch100: libxl-dom-reset.patch
|
||||||
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
||||||
@ -875,7 +874,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
|
@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600
|
|||||||
option, but domainReset can be implemented in the libxl driver by
|
option, but domainReset can be implemented in the libxl driver by
|
||||||
forcibly destroying the domain and starting it again.
|
forcibly destroying the domain and starting it again.
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
@@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
@@ -1371,6 +1371,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -74,7 +74,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
|||||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@@ -6581,6 +6636,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6631,6 +6686,7 @@ static virHypervisorDriver libxlHypervis
|
||||||
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
||||||
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
||||||
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
||||||
|
@ -3,10 +3,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
|
|||||||
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
||||||
1 file changed, 25 insertions(+)
|
1 file changed, 25 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|||||||
tools/virsh.pod | 8 ++++++++
|
tools/virsh.pod | 8 ++++++++
|
||||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
Index: libvirt-6.2.0/include/libvirt/libvirt-domain.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/include/libvirt/libvirt-domain.h
|
--- libvirt-6.2.0.orig/include/libvirt/libvirt-domain.h
|
||||||
+++ libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
+++ libvirt-6.2.0/include/libvirt/libvirt-domain.h
|
||||||
@@ -1065,6 +1065,31 @@ typedef enum {
|
@@ -1065,6 +1065,31 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
|
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
|
||||||
@ -52,11 +52,11 @@ Index: libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
|||||||
/* Domain migration. */
|
/* Domain migration. */
|
||||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||||
unsigned long flags, const char *dname,
|
unsigned long flags, const char *dname,
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||||
@@ -6146,6 +6146,9 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6196,6 +6196,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
const char *dname = NULL;
|
const char *dname = NULL;
|
||||||
const char *uri = NULL;
|
const char *uri = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
@ -66,7 +66,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
|||||||
|
|
||||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||||
virReportUnsupportedError();
|
virReportUnsupportedError();
|
||||||
@@ -6162,6 +6165,18 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6212,6 +6215,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
virTypedParamsGetString(params, nparams,
|
virTypedParamsGetString(params, nparams,
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME,
|
VIR_MIGRATE_PARAM_DEST_NAME,
|
||||||
&dname) < 0 ||
|
&dname) < 0 ||
|
||||||
@ -85,7 +85,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
|||||||
virTypedParamsGetString(params, nparams,
|
virTypedParamsGetString(params, nparams,
|
||||||
VIR_MIGRATE_PARAM_URI,
|
VIR_MIGRATE_PARAM_URI,
|
||||||
&uri) < 0)
|
&uri) < 0)
|
||||||
@@ -6176,11 +6191,11 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6226,11 +6241,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||||
|
|
||||||
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
|
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
|
||||||
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
|
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
|
||||||
@ -99,11 +99,11 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
Index: libvirt-6.2.0/src/libxl/libxl_migration.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_migration.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_migration.c
|
+++ libvirt-6.2.0/src/libxl/libxl_migration.c
|
||||||
@@ -339,18 +339,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
@@ -345,18 +345,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||||
static int
|
static int
|
||||||
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
@ -145,7 +145,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Failed to send migration data to destination host"));
|
_("Failed to send migration data to destination host"));
|
||||||
@@ -903,7 +924,7 @@ struct libxlTunnelControl {
|
@@ -913,7 +934,7 @@ struct libxlTunnelControl {
|
||||||
static int
|
static int
|
||||||
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
|
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
@ -154,7 +154,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
virStreamPtr st,
|
virStreamPtr st,
|
||||||
struct libxlTunnelControl **tnl)
|
struct libxlTunnelControl **tnl)
|
||||||
{
|
{
|
||||||
@@ -934,7 +955,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
@@ -947,7 +968,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
||||||
|
|
||||||
virObjectUnlock(vm);
|
virObjectUnlock(vm);
|
||||||
/* Send data to pipe */
|
/* Send data to pipe */
|
||||||
@ -163,7 +163,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
virObjectLock(vm);
|
virObjectLock(vm);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
@@ -970,7 +991,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -983,7 +1004,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
const char *dconnuri G_GNUC_UNUSED,
|
const char *dconnuri G_GNUC_UNUSED,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
const char *uri,
|
const char *uri,
|
||||||
@ -172,7 +172,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
virDomainPtr ddomain = NULL;
|
virDomainPtr ddomain = NULL;
|
||||||
virTypedParameterPtr params = NULL;
|
virTypedParameterPtr params = NULL;
|
||||||
@@ -1015,11 +1036,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -1028,11 +1049,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
/* We don't require the destination to have P2P support
|
/* We don't require the destination to have P2P support
|
||||||
* as it looks to be normal migration from the receiver perspective.
|
* as it looks to be normal migration from the receiver perspective.
|
||||||
*/
|
*/
|
||||||
@ -186,7 +186,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
if (!(st = virStreamNew(dconn, 0)))
|
if (!(st = virStreamNew(dconn, 0)))
|
||||||
goto confirm;
|
goto confirm;
|
||||||
ret = dconn->driver->domainMigratePrepareTunnel3Params
|
ret = dconn->driver->domainMigratePrepareTunnel3Params
|
||||||
@@ -1033,7 +1054,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -1046,7 +1067,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
goto confirm;
|
goto confirm;
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
if (uri_out) {
|
if (uri_out) {
|
||||||
if (virTypedParamsReplaceString(¶ms, &nparams,
|
if (virTypedParamsReplaceString(¶ms, &nparams,
|
||||||
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
|
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
|
||||||
@@ -1048,11 +1069,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -1061,11 +1082,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
|
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
|
||||||
@ -210,7 +210,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
notify_source = false;
|
notify_source = false;
|
||||||
virErrorPreserveLast(&orig_err);
|
virErrorPreserveLast(&orig_err);
|
||||||
@@ -1087,7 +1108,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -1100,7 +1121,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
confirm:
|
confirm:
|
||||||
if (notify_source) {
|
if (notify_source) {
|
||||||
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
||||||
@ -219,7 +219,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
||||||
@@ -1095,7 +1116,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
@@ -1108,7 +1129,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
@ -228,7 +228,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
libxlMigrationSrcStopTunnel(tc);
|
libxlMigrationSrcStopTunnel(tc);
|
||||||
virObjectUnref(st);
|
virObjectUnref(st);
|
||||||
}
|
}
|
||||||
@@ -1139,7 +1160,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
@@ -1152,7 +1173,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||||
const char *dconnuri,
|
const char *dconnuri,
|
||||||
const char *uri_str G_GNUC_UNUSED,
|
const char *uri_str G_GNUC_UNUSED,
|
||||||
const char *dname,
|
const char *dname,
|
||||||
@ -237,7 +237,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
bool useParams;
|
bool useParams;
|
||||||
@@ -1174,7 +1195,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
@@ -1187,7 +1208,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
||||||
@ -246,7 +246,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
/*
|
/*
|
||||||
@@ -1201,7 +1222,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
@@ -1214,7 +1235,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||||
const char *dconnuri G_GNUC_UNUSED,
|
const char *dconnuri G_GNUC_UNUSED,
|
||||||
const char *uri_str,
|
const char *uri_str,
|
||||||
const char *dname G_GNUC_UNUSED,
|
const char *dname G_GNUC_UNUSED,
|
||||||
@ -255,7 +255,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
{
|
{
|
||||||
libxlDomainObjPrivatePtr priv = vm->privateData;
|
libxlDomainObjPrivatePtr priv = vm->privateData;
|
||||||
char *hostname = NULL;
|
char *hostname = NULL;
|
||||||
@@ -1237,7 +1258,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
@@ -1250,7 +1271,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||||
|
|
||||||
/* suspend vm and send saved data to dst through socket fd */
|
/* suspend vm and send saved data to dst through socket fd */
|
||||||
virObjectUnlock(vm);
|
virObjectUnlock(vm);
|
||||||
@ -264,10 +264,10 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
|||||||
virObjectLock(vm);
|
virObjectLock(vm);
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_migration.h
|
Index: libvirt-6.2.0/src/libxl/libxl_migration.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.h
|
--- libvirt-6.2.0.orig/src/libxl/libxl_migration.h
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_migration.h
|
+++ libvirt-6.2.0/src/libxl/libxl_migration.h
|
||||||
@@ -35,6 +35,10 @@
|
@@ -35,6 +35,10 @@
|
||||||
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
||||||
@ -312,11 +312,11 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.h
|
|||||||
|
|
||||||
virDomainPtr
|
virDomainPtr
|
||||||
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
||||||
Index: libvirt-6.1.0/tools/virsh-domain.c
|
Index: libvirt-6.2.0/tools/virsh-domain.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tools/virsh-domain.c
|
--- libvirt-6.2.0.orig/tools/virsh-domain.c
|
||||||
+++ libvirt-6.1.0/tools/virsh-domain.c
|
+++ libvirt-6.2.0/tools/virsh-domain.c
|
||||||
@@ -10713,6 +10713,22 @@ static const vshCmdOptDef opts_migrate[]
|
@@ -10716,6 +10716,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||||
.type = VSH_OT_STRING,
|
.type = VSH_OT_STRING,
|
||||||
.help = N_("override the destination host name used for TLS verification")
|
.help = N_("override the destination host name used for TLS verification")
|
||||||
},
|
},
|
||||||
@ -339,7 +339,7 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
|
|||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -10735,6 +10751,7 @@ doMigrate(void *opaque)
|
@@ -10738,6 +10754,7 @@ doMigrate(void *opaque)
|
||||||
unsigned long long ullOpt = 0;
|
unsigned long long ullOpt = 0;
|
||||||
int rv;
|
int rv;
|
||||||
virConnectPtr dconn = data->dconn;
|
virConnectPtr dconn = data->dconn;
|
||||||
@ -347,7 +347,7 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
|
|||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
sigset_t sigmask, oldsigmask;
|
sigset_t sigmask, oldsigmask;
|
||||||
|
|
||||||
@@ -10857,6 +10874,27 @@ doMigrate(void *opaque)
|
@@ -10860,6 +10877,27 @@ doMigrate(void *opaque)
|
||||||
goto save_error;
|
goto save_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,10 +375,10 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
|
|||||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||||
goto out;
|
goto out;
|
||||||
if (opt) {
|
if (opt) {
|
||||||
Index: libvirt-6.1.0/docs/manpages/virsh.rst
|
Index: libvirt-6.2.0/docs/manpages/virsh.rst
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/docs/manpages/virsh.rst
|
--- libvirt-6.2.0.orig/docs/manpages/virsh.rst
|
||||||
+++ libvirt-6.1.0/docs/manpages/virsh.rst
|
+++ libvirt-6.2.0/docs/manpages/virsh.rst
|
||||||
@@ -3093,6 +3093,8 @@ migrate
|
@@ -3093,6 +3093,8 @@ migrate
|
||||||
[--postcopy-bandwidth bandwidth]
|
[--postcopy-bandwidth bandwidth]
|
||||||
[--parallel [--parallel-connections connections]]
|
[--parallel [--parallel-connections connections]]
|
||||||
|
@ -7,10 +7,10 @@ and npiv.
|
|||||||
|
|
||||||
For more details, see bsc#954872 and FATE#319810
|
For more details, see bsc#954872 and FATE#319810
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -13,11 +13,11 @@ device with the same name that is being created.
|
|||||||
src/lxc/lxc_process.c | 1 +
|
src/lxc/lxc_process.c | 1 +
|
||||||
3 files changed, 4 insertions(+)
|
3 files changed, 4 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/lxc/lxc_controller.c
|
Index: libvirt-6.2.0/src/lxc/lxc_controller.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/lxc/lxc_controller.c
|
--- libvirt-6.2.0.orig/src/lxc/lxc_controller.c
|
||||||
+++ libvirt-6.1.0/src/lxc/lxc_controller.c
|
+++ libvirt-6.2.0/src/lxc/lxc_controller.c
|
||||||
@@ -1985,6 +1985,7 @@ static int virLXCControllerDeleteInterfa
|
@@ -2056,6 +2056,7 @@ static int virLXCControllerDeleteInterfa
|
||||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
@ -25,10 +25,10 @@ Index: libvirt-6.1.0/src/lxc/lxc_controller.c
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
Index: libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-6.1.0/src/lxc/lxc_driver.c
|
+++ libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||||
@@ -67,6 +67,7 @@
|
@@ -67,6 +67,7 @@
|
||||||
#include "virtime.h"
|
#include "virtime.h"
|
||||||
#include "virtypedparam.h"
|
#include "virtypedparam.h"
|
||||||
@ -53,10 +53,10 @@ Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
/* It'd be nice to support this, but with macvlan
|
/* It'd be nice to support this, but with macvlan
|
||||||
Index: libvirt-6.1.0/src/lxc/lxc_process.c
|
Index: libvirt-6.2.0/src/lxc/lxc_process.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/lxc/lxc_process.c
|
--- libvirt-6.2.0.orig/src/lxc/lxc_process.c
|
||||||
+++ libvirt-6.1.0/src/lxc/lxc_process.c
|
+++ libvirt-6.2.0/src/lxc/lxc_process.c
|
||||||
@@ -50,6 +50,7 @@
|
@@ -50,6 +50,7 @@
|
||||||
#include "virstring.h"
|
#include "virstring.h"
|
||||||
#include "virprocess.h"
|
#include "virprocess.h"
|
||||||
@ -65,7 +65,7 @@ Index: libvirt-6.1.0/src/lxc/lxc_process.c
|
|||||||
#include "netdev_bandwidth_conf.h"
|
#include "netdev_bandwidth_conf.h"
|
||||||
#include "virutil.h"
|
#include "virutil.h"
|
||||||
|
|
||||||
@@ -231,6 +232,7 @@ static void virLXCProcessCleanup(virLXCD
|
@@ -230,6 +231,7 @@ static void virLXCProcessCleanup(virLXCD
|
||||||
VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname));
|
VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
|
|||||||
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
||||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/network/bridge_driver.c
|
Index: libvirt-6.2.0/src/network/bridge_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/network/bridge_driver.c
|
--- libvirt-6.2.0.orig/src/network/bridge_driver.c
|
||||||
+++ libvirt-6.1.0/src/network/bridge_driver.c
|
+++ libvirt-6.2.0/src/network/bridge_driver.c
|
||||||
@@ -1506,7 +1506,14 @@ networkDnsmasqConfContents(virNetworkObj
|
@@ -1444,7 +1444,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||||
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
||||||
if (ipdef->nranges || ipdef->nhosts) {
|
if (ipdef->nranges || ipdef->nhosts) {
|
||||||
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
||||||
@ -37,10 +37,10 @@ Index: libvirt-6.1.0/src/network/bridge_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ipdef->tftproot) {
|
if (ipdef->tftproot) {
|
||||||
Index: libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
Index: libvirt-6.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
--- libvirt-6.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
+++ libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
+++ libvirt-6.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
@@ -10,7 +10,6 @@ bind-dynamic
|
@@ -10,7 +10,6 @@ bind-dynamic
|
||||||
interface=virbr1
|
interface=virbr1
|
||||||
dhcp-range=192.168.122.1,static
|
dhcp-range=192.168.122.1,static
|
||||||
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
|||||||
|
|
||||||
See bnc#894956
|
See bnc#894956
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/util/virarch.c
|
Index: libvirt-6.2.0/src/util/virarch.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/util/virarch.c
|
--- libvirt-6.2.0.orig/src/util/virarch.c
|
||||||
+++ libvirt-6.1.0/src/util/virarch.c
|
+++ libvirt-6.2.0/src/util/virarch.c
|
||||||
@@ -220,6 +220,8 @@ virArch virArchFromHost(void)
|
@@ -220,6 +220,8 @@ virArch virArchFromHost(void)
|
||||||
arch = VIR_ARCH_I686;
|
arch = VIR_ARCH_I686;
|
||||||
} else if (STREQ(ut.machine, "amd64")) {
|
} else if (STREQ(ut.machine, "amd64")) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
Index: libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu
|
--- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
|
||||||
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
+++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||||
@@ -228,3 +228,6 @@
|
@@ -228,3 +228,6 @@
|
||||||
# required for sasl GSSAPI plugin
|
# required for sasl GSSAPI plugin
|
||||||
/etc/gss/mech.d/ r,
|
/etc/gss/mech.d/ r,
|
||||||
|
@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
|
|||||||
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
|
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
|
||||||
2 files changed, 35 insertions(+), 15 deletions(-)
|
2 files changed, 35 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/xen_common.c
|
Index: libvirt-6.2.0/src/libxl/xen_common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/xen_common.c
|
--- libvirt-6.2.0.orig/src/libxl/xen_common.c
|
||||||
+++ libvirt-6.1.0/src/libxl/xen_common.c
|
+++ libvirt-6.2.0/src/libxl/xen_common.c
|
||||||
@@ -381,12 +381,19 @@ xenParsePCI(char *entry)
|
@@ -381,12 +381,19 @@ xenParsePCI(char *entry)
|
||||||
int busID;
|
int busID;
|
||||||
int slotID;
|
int slotID;
|
||||||
|
@ -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.
|
to squelch a denial when starting confined domains.
|
||||||
|
|
||||||
Found while investigating bsc#1058847
|
Found while investigating bsc#1058847
|
||||||
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
Index: libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu
|
--- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
|
||||||
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
+++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||||
@@ -61,6 +61,7 @@
|
@@ -61,6 +61,7 @@
|
||||||
#/dev/fb* rw,
|
#/dev/fb* rw,
|
||||||
|
|
||||||
@ -20,10 +20,10 @@ Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
|||||||
@{HOME}/.pulse-cookie rwk,
|
@{HOME}/.pulse-cookie rwk,
|
||||||
owner /root/.pulse-cookie rwk,
|
owner /root/.pulse-cookie rwk,
|
||||||
owner /root/.pulse/ rw,
|
owner /root/.pulse/ rw,
|
||||||
Index: libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
Index: libvirt-6.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
--- libvirt-6.2.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||||
+++ libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
+++ libvirt-6.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||||
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
|
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
|
||||||
# Used when internally running another command (namely apparmor_parser)
|
# Used when internally running another command (namely apparmor_parser)
|
||||||
@{PROC}/@{pid}/fd/ r,
|
@{PROC}/@{pid}/fd/ r,
|
||||||
|
@ -9,10 +9,10 @@ need backporting to anything older. The dependency on xen.git commit
|
|||||||
c3999835df makes it hard to upstream this patch.
|
c3999835df makes it hard to upstream this patch.
|
||||||
|
|
||||||
See bsc#1157490 and bsc#1167007 for more details
|
See bsc#1157490 and bsc#1167007 for more details
|
||||||
Index: libvirt-6.1.0/m4/virt-driver-libxl.m4
|
Index: libvirt-6.2.0/m4/virt-driver-libxl.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/m4/virt-driver-libxl.m4
|
--- libvirt-6.2.0.orig/m4/virt-driver-libxl.m4
|
||||||
+++ libvirt-6.1.0/m4/virt-driver-libxl.m4
|
+++ libvirt-6.2.0/m4/virt-driver-libxl.m4
|
||||||
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
|
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
|
||||||
LIBXL_CFLAGS=""
|
LIBXL_CFLAGS=""
|
||||||
LIBXL_FIRMWARE_DIR=""
|
LIBXL_FIRMWARE_DIR=""
|
||||||
@ -27,24 +27,24 @@ Index: libvirt-6.1.0/m4/virt-driver-libxl.m4
|
|||||||
if test "x$with_libxl" = "xyes" ; then
|
if test "x$with_libxl" = "xyes" ; then
|
||||||
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
|
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
|
||||||
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
|
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
@@ -1785,7 +1785,7 @@ int
|
@@ -1784,7 +1784,7 @@ libxlDriverConfigNew(void)
|
||||||
|
int
|
||||||
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
|
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
|
||||||
{
|
{
|
||||||
char ebuf[1024];
|
|
||||||
- unsigned int free_mem;
|
- unsigned int free_mem;
|
||||||
+ uint64_t free_mem;
|
+ uint64_t free_mem;
|
||||||
|
|
||||||
if (virFileMakePath(cfg->logDir) < 0) {
|
if (virFileMakePath(cfg->logDir) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_domain.c
|
Index: libvirt-6.2.0/src/libxl/libxl_domain.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_domain.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_domain.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_domain.c
|
+++ libvirt-6.2.0/src/libxl/libxl_domain.c
|
||||||
@@ -1006,8 +1006,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
|
@@ -1020,8 +1020,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
|
||||||
static int
|
static int
|
||||||
libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
|
libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_domain.c
|
|||||||
int32_t target_mem;
|
int32_t target_mem;
|
||||||
int tries = 3;
|
int tries = 3;
|
||||||
int wait_secs = 10;
|
int wait_secs = 10;
|
||||||
@@ -1401,7 +1401,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
|
@@ -1415,7 +1415,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
|
||||||
params.stream_version = restore_ver;
|
params.stream_version = restore_ver;
|
||||||
#endif
|
#endif
|
||||||
ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
|
ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
|
||||||
@ -64,10 +64,10 @@ Index: libvirt-6.1.0/src/libxl/libxl_domain.c
|
|||||||
&aop_console_how);
|
&aop_console_how);
|
||||||
libxl_domain_restore_params_dispose(¶ms);
|
libxl_domain_restore_params_dispose(¶ms);
|
||||||
}
|
}
|
||||||
Index: libvirt-6.1.0/tests/libxlmock.c
|
Index: libvirt-6.2.0/tests/libxlmock.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tests/libxlmock.c
|
--- libvirt-6.2.0.orig/tests/libxlmock.c
|
||||||
+++ libvirt-6.1.0/tests/libxlmock.c
|
+++ libvirt-6.2.0/tests/libxlmock.c
|
||||||
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
|
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
|
||||||
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
|
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
|
||||||
int, 0,
|
int, 0,
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust libvirt-guests service to conform to SUSE standards
|
Adjust libvirt-guests service to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-6.1.0/tools/libvirt-guests.sh.in
|
Index: libvirt-6.2.0/tools/libvirt-guests.sh.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tools/libvirt-guests.sh.in
|
--- libvirt-6.2.0.orig/tools/libvirt-guests.sh.in
|
||||||
+++ libvirt-6.1.0/tools/libvirt-guests.sh.in
|
+++ libvirt-6.2.0/tools/libvirt-guests.sh.in
|
||||||
@@ -16,14 +16,13 @@
|
@@ -16,14 +16,13 @@
|
||||||
# License along with this library. If not, see
|
# License along with this library. If not, see
|
||||||
# <http://www.gnu.org/licenses/>.
|
# <http://www.gnu.org/licenses/>.
|
||||||
@ -163,10 +163,10 @@ Index: libvirt-6.1.0/tools/libvirt-guests.sh.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-6.1.0/tools/libvirt-guests.sysconf
|
Index: libvirt-6.2.0/tools/libvirt-guests.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tools/libvirt-guests.sysconf
|
--- libvirt-6.2.0.orig/tools/libvirt-guests.sysconf
|
||||||
+++ libvirt-6.1.0/tools/libvirt-guests.sysconf
|
+++ libvirt-6.2.0/tools/libvirt-guests.sysconf
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,29 @@
|
||||||
+## Path: System/Virtualization/libvirt-guests
|
+## Path: System/Virtualization/libvirt-guests
|
||||||
+
|
+
|
||||||
|
@ -3,10 +3,10 @@ Disable TLS by default
|
|||||||
On SUSE distros, the default is for libvirtd to listen only on the
|
On SUSE distros, the default is for libvirtd to listen only on the
|
||||||
Unix Domain Socket. The libvirt client still provides remote access
|
Unix Domain Socket. The libvirt client still provides remote access
|
||||||
via a SSH tunnel.
|
via a SSH tunnel.
|
||||||
Index: libvirt-6.1.0/src/remote/remote_daemon_config.c
|
Index: libvirt-6.2.0/src/remote/remote_daemon_config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/remote/remote_daemon_config.c
|
--- libvirt-6.2.0.orig/src/remote/remote_daemon_config.c
|
||||||
+++ libvirt-6.1.0/src/remote/remote_daemon_config.c
|
+++ libvirt-6.2.0/src/remote/remote_daemon_config.c
|
||||||
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
|
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
|
||||||
|
|
||||||
#ifdef WITH_IP
|
#ifdef WITH_IP
|
||||||
@ -16,10 +16,10 @@ Index: libvirt-6.1.0/src/remote/remote_daemon_config.c
|
|||||||
# else /* ! LIBVIRTD */
|
# else /* ! LIBVIRTD */
|
||||||
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
|
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
|
||||||
# endif /* ! LIBVIRTD */
|
# endif /* ! LIBVIRTD */
|
||||||
Index: libvirt-6.1.0/src/remote/libvirtd.conf.in
|
Index: libvirt-6.2.0/src/remote/libvirtd.conf.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/remote/libvirtd.conf.in
|
--- libvirt-6.2.0.orig/src/remote/libvirtd.conf.in
|
||||||
+++ libvirt-6.1.0/src/remote/libvirtd.conf.in
|
+++ libvirt-6.2.0/src/remote/libvirtd.conf.in
|
||||||
@@ -17,8 +17,8 @@
|
@@ -17,8 +17,8 @@
|
||||||
# It is necessary to setup a CA and issue server certificates before
|
# It is necessary to setup a CA and issue server certificates before
|
||||||
# using this capability.
|
# using this capability.
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust libvirtd sysconfig file to conform to SUSE standards
|
Adjust libvirtd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/remote/libvirtd.sysconf
|
Index: libvirt-6.2.0/src/remote/libvirtd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/remote/libvirtd.sysconf
|
--- libvirt-6.2.0.orig/src/remote/libvirtd.sysconf
|
||||||
+++ libvirt-6.1.0/src/remote/libvirtd.sysconf
|
+++ libvirt-6.2.0/src/remote/libvirtd.sysconf
|
||||||
@@ -1,5 +1,9 @@
|
@@ -1,5 +1,9 @@
|
||||||
+## Path: System/Virtualization/libvirt
|
+## Path: System/Virtualization/libvirt
|
||||||
# Customizations for the libvirtd.service systemd unit
|
# Customizations for the libvirtd.service systemd unit
|
||||||
|
@ -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
|
by default. It can only be enabled with the 'autoballoon' setting in
|
||||||
libxl.conf. See jsc#SLE-3059 for more details.
|
libxl.conf. See jsc#SLE-3059 for more details.
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl.conf
|
Index: libvirt-6.2.0/src/libxl/libxl.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl.conf
|
--- libvirt-6.2.0.orig/src/libxl/libxl.conf
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl.conf
|
+++ libvirt-6.2.0/src/libxl/libxl.conf
|
||||||
@@ -4,12 +4,11 @@
|
@@ -4,12 +4,11 @@
|
||||||
|
|
||||||
# Enable autoballooning of domain0
|
# Enable autoballooning of domain0
|
||||||
@ -27,10 +27,10 @@ Index: libvirt-6.1.0/src/libxl/libxl.conf
|
|||||||
|
|
||||||
|
|
||||||
# In order to prevent accidentally starting two domains that
|
# In order to prevent accidentally starting two domains that
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||||
/*
|
/*
|
||||||
* Get domain0 autoballoon configuration. Honor user-specified
|
* Get domain0 autoballoon configuration. Honor user-specified
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust paths of OVMF firmwares on SUSE distros
|
Adjust paths of OVMF firmwares on SUSE distros
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu.conf
|
Index: libvirt-6.2.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu.conf
|
--- libvirt-6.2.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu.conf
|
+++ libvirt-6.2.0/src/qemu/qemu.conf
|
||||||
@@ -788,10 +788,9 @@
|
@@ -788,10 +788,9 @@
|
||||||
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
||||||
# follows this scheme.
|
# follows this scheme.
|
||||||
@ -18,10 +18,10 @@ Index: libvirt-6.1.0/src/qemu/qemu.conf
|
|||||||
#]
|
#]
|
||||||
|
|
||||||
# The backend to use for handling stdout/stderr output from
|
# The backend to use for handling stdout/stderr output from
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
Index: libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c
|
--- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu_conf.c
|
+++ libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||||
@@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
@@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
||||||
|
|
||||||
#ifndef DEFAULT_LOADER_NVRAM
|
#ifndef DEFAULT_LOADER_NVRAM
|
||||||
@ -36,11 +36,11 @@ Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/security/virt-aa-helper.c
|
Index: libvirt-6.2.0/src/security/virt-aa-helper.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/security/virt-aa-helper.c
|
--- libvirt-6.2.0.orig/src/security/virt-aa-helper.c
|
||||||
+++ libvirt-6.1.0/src/security/virt-aa-helper.c
|
+++ libvirt-6.2.0/src/security/virt-aa-helper.c
|
||||||
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool
|
@@ -479,7 +479,8 @@ valid_path(const char *path, const bool
|
||||||
"/usr/share/ovmf/", /* for OVMF images */
|
"/usr/share/ovmf/", /* for OVMF images */
|
||||||
"/usr/share/AAVMF/", /* for AAVMF images */
|
"/usr/share/AAVMF/", /* for AAVMF images */
|
||||||
"/usr/share/qemu-efi/", /* for AAVMF images */
|
"/usr/share/qemu-efi/", /* for AAVMF images */
|
||||||
|
@ -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
|
etc.), but for now they are all lumped together in this
|
||||||
single patch.
|
single patch.
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu.conf
|
Index: libvirt-6.2.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu.conf
|
--- libvirt-6.2.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu.conf
|
+++ libvirt-6.2.0/src/qemu/qemu.conf
|
||||||
@@ -420,10 +420,19 @@
|
@@ -420,10 +420,19 @@
|
||||||
# isolation, but it cannot appear in a list of drivers.
|
# isolation, but it cannot appear in a list of drivers.
|
||||||
#
|
#
|
||||||
@ -60,13 +60,13 @@ Index: libvirt-6.1.0/src/qemu/qemu.conf
|
|||||||
#
|
#
|
||||||
#lock_manager = "lockd"
|
#lock_manager = "lockd"
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
Index: libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c
|
--- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
|
||||||
+++ libvirt-6.1.0/src/qemu/qemu_conf.c
|
+++ libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||||
@@ -263,7 +263,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
@@ -266,7 +266,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||||
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
|
|
||||||
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
|
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
|
||||||
|
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
|
||||||
|
|
||||||
- cfg->securityDefaultConfined = true;
|
- cfg->securityDefaultConfined = true;
|
||||||
+ cfg->securityDefaultConfined = false;
|
+ cfg->securityDefaultConfined = false;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlockd sysconfig file to conform to SUSE standards
|
Adjust virtlockd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/locking/virtlockd.sysconf
|
Index: libvirt-6.2.0/src/locking/virtlockd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/locking/virtlockd.sysconf
|
--- libvirt-6.2.0.orig/src/locking/virtlockd.sysconf
|
||||||
+++ libvirt-6.1.0/src/locking/virtlockd.sysconf
|
+++ libvirt-6.2.0/src/locking/virtlockd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlockd
|
+## Path: System/Virtualization/virtlockd
|
||||||
+
|
+
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Adjust virtlogd sysconfig file to conform to SUSE standards
|
Adjust virtlogd sysconfig file to conform to SUSE standards
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/logging/virtlogd.sysconf
|
Index: libvirt-6.2.0/src/logging/virtlogd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/logging/virtlogd.sysconf
|
--- libvirt-6.2.0.orig/src/logging/virtlogd.sysconf
|
||||||
+++ libvirt-6.1.0/src/logging/virtlogd.sysconf
|
+++ libvirt-6.2.0/src/logging/virtlogd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlogd
|
+## Path: System/Virtualization/virtlogd
|
||||||
+
|
+
|
||||||
|
@ -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
|
upstream efforts to improve firmware handling in the qemu driver broke
|
||||||
the firmware handling in the xen driver.
|
the firmware handling in the xen driver.
|
||||||
|
|
||||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||||
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
|
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
|
||||||
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
|
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
|
||||||
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);
|
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-6.1.0/tools/Makefile.am
|
Index: libvirt-6.2.0/tools/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/tools/Makefile.am
|
--- libvirt-6.2.0.orig/tools/Makefile.am
|
||||||
+++ libvirt-6.1.0/tools/Makefile.am
|
+++ libvirt-6.2.0/tools/Makefile.am
|
||||||
@@ -70,7 +70,7 @@ MAINTAINERCLEANFILES =
|
@@ -70,7 +70,7 @@ MAINTAINERCLEANFILES =
|
||||||
confdir = $(sysconfdir)/libvirt
|
confdir = $(sysconfdir)/libvirt
|
||||||
conf_DATA =
|
conf_DATA =
|
||||||
@ -11,10 +11,10 @@ Index: libvirt-6.1.0/tools/Makefile.am
|
|||||||
bin_PROGRAMS = virsh virt-admin
|
bin_PROGRAMS = virsh virt-admin
|
||||||
libexec_SCRIPTS = libvirt-guests.sh
|
libexec_SCRIPTS = libvirt-guests.sh
|
||||||
|
|
||||||
Index: libvirt-6.1.0/tools/virt-create-rootfs
|
Index: libvirt-6.2.0/tools/virt-create-rootfs
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-6.1.0/tools/virt-create-rootfs
|
+++ libvirt-6.2.0/tools/virt-create-rootfs
|
||||||
@@ -0,0 +1,231 @@
|
@@ -0,0 +1,231 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+set -e
|
+set -e
|
||||||
@ -247,10 +247,10 @@ Index: libvirt-6.1.0/tools/virt-create-rootfs
|
|||||||
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
||||||
+ chroot "$ROOT" /usr/bin/passwd
|
+ chroot "$ROOT" /usr/bin/passwd
|
||||||
+fi
|
+fi
|
||||||
Index: libvirt-6.1.0/docs/Makefile.am
|
Index: libvirt-6.2.0/docs/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-6.1.0.orig/docs/Makefile.am
|
--- libvirt-6.2.0.orig/docs/Makefile.am
|
||||||
+++ libvirt-6.1.0/docs/Makefile.am
|
+++ libvirt-6.2.0/docs/Makefile.am
|
||||||
@@ -209,6 +209,7 @@ manpages1_rst = \
|
@@ -209,6 +209,7 @@ manpages1_rst = \
|
||||||
manpages/virt-xml-validate.rst \
|
manpages/virt-xml-validate.rst \
|
||||||
manpages/virt-admin.rst \
|
manpages/virt-admin.rst \
|
||||||
@ -259,10 +259,10 @@ Index: libvirt-6.1.0/docs/Makefile.am
|
|||||||
$(NULL)
|
$(NULL)
|
||||||
manpages7_rst = \
|
manpages7_rst = \
|
||||||
$(KEYCODES:%=manpages/virkeycode-%.rst) \
|
$(KEYCODES:%=manpages/virkeycode-%.rst) \
|
||||||
Index: libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst
|
Index: libvirt-6.2.0/docs/manpages/virt-create-rootfs.rst
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst
|
+++ libvirt-6.2.0/docs/manpages/virt-create-rootfs.rst
|
||||||
@@ -0,0 +1,88 @@
|
@@ -0,0 +1,88 @@
|
||||||
+==================
|
+==================
|
||||||
+virt-create-rootfs
|
+virt-create-rootfs
|
||||||
|
Loading…
Reference in New Issue
Block a user