forked from pool/libvirt
Accepting request 839020 from home:jfehlig:branches:Virtualization
- Update to libvirt 6.8.0 - jsc#SLE-12684, jsc#SLE-15861 - bsc#1174955 (CVE-2020-15708) - bsc#1177155 (CVE-2020-25637) - Many incremental improvements and bug fixes, see https://libvirt.org/news.html - Dropped patches: 2ad009ea-qemu-check-modules-dir.patch, 8abd1ffe-qemu-tolerate-non-existent-files.patch, 4a72b76b-qemu-namespace-memleak-fix.patch OBS-URL: https://build.opensuse.org/request/show/839020 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=845
This commit is contained in:
parent
6a7adc1de1
commit
2cdc10fadb
@ -18,10 +18,10 @@ them.
|
||||
create mode 100644 src/conf/domain_stats.c
|
||||
create mode 100644 src/conf/domain_stats.h
|
||||
|
||||
Index: libvirt-6.7.0/src/conf/domain_stats.c
|
||||
Index: libvirt-6.8.0/src/conf/domain_stats.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.7.0/src/conf/domain_stats.c
|
||||
+++ libvirt-6.8.0/src/conf/domain_stats.c
|
||||
@@ -0,0 +1,119 @@
|
||||
+/*
|
||||
+ * domain_stats.c: domain stats extraction helpers
|
||||
@ -142,10 +142,10 @@ Index: libvirt-6.7.0/src/conf/domain_stats.c
|
||||
+}
|
||||
+
|
||||
+#undef STATS_ADD_NET_PARAM
|
||||
Index: libvirt-6.7.0/src/conf/domain_stats.h
|
||||
Index: libvirt-6.8.0/src/conf/domain_stats.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.7.0/src/conf/domain_stats.h
|
||||
+++ libvirt-6.8.0/src/conf/domain_stats.h
|
||||
@@ -0,0 +1,62 @@
|
||||
+/*
|
||||
+ * domain_stats.h: domain stats extraction helpers
|
||||
@ -209,11 +209,11 @@ Index: libvirt-6.7.0/src/conf/domain_stats.h
|
||||
+ virTypedParamListPtr params);
|
||||
+
|
||||
+#endif /* __DOMAIN_STATS_H */
|
||||
Index: libvirt-6.7.0/src/libvirt_private.syms
|
||||
Index: libvirt-6.8.0/src/libvirt_private.syms
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libvirt_private.syms
|
||||
+++ libvirt-6.7.0/src/libvirt_private.syms
|
||||
@@ -737,6 +737,9 @@ virDomainConfNWFilterInstantiate;
|
||||
--- libvirt-6.8.0.orig/src/libvirt_private.syms
|
||||
+++ libvirt-6.8.0/src/libvirt_private.syms
|
||||
@@ -741,6 +741,9 @@ virDomainConfNWFilterInstantiate;
|
||||
virDomainConfNWFilterTeardown;
|
||||
virDomainConfVMNWFilterTeardown;
|
||||
|
||||
@ -223,7 +223,7 @@ Index: libvirt-6.7.0/src/libvirt_private.syms
|
||||
|
||||
# conf/interface_conf.h
|
||||
virInterfaceDefFormat;
|
||||
@@ -1783,6 +1786,7 @@ virCgroupGetMemoryUsage;
|
||||
@@ -1790,6 +1793,7 @@ virCgroupGetMemoryUsage;
|
||||
virCgroupGetMemSwapHardLimit;
|
||||
virCgroupGetMemSwapUsage;
|
||||
virCgroupGetPercpuStats;
|
||||
@ -231,10 +231,10 @@ Index: libvirt-6.7.0/src/libvirt_private.syms
|
||||
virCgroupHasController;
|
||||
virCgroupHasEmptyTasks;
|
||||
virCgroupKillPainfully;
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
Index: libvirt-6.8.0/src/qemu/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
--- libvirt-6.8.0.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-6.8.0/src/qemu/qemu_driver.c
|
||||
@@ -67,6 +67,7 @@
|
||||
#include "virarptable.h"
|
||||
#include "viruuid.h"
|
||||
@ -243,7 +243,7 @@ Index: libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
#include "domain_audit.h"
|
||||
#include "domain_cgroup.h"
|
||||
#include "domain_driver.h"
|
||||
@@ -17528,13 +17529,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
@@ -17611,13 +17612,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
virTypedParamListPtr params,
|
||||
unsigned int privflags G_GNUC_UNUSED)
|
||||
{
|
||||
@ -258,7 +258,7 @@ Index: libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
}
|
||||
|
||||
|
||||
@@ -17829,25 +17824,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||
@@ -17912,25 +17907,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||
virTypedParamListPtr params)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv = dom->privateData;
|
||||
@ -285,7 +285,7 @@ Index: libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
}
|
||||
|
||||
|
||||
@@ -18015,76 +17996,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||
@@ -18098,76 +18079,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -363,10 +363,10 @@ Index: libvirt-6.7.0/src/qemu/qemu_driver.c
|
||||
|
||||
/* refresh information by opening images on the disk */
|
||||
static int
|
||||
Index: libvirt-6.7.0/src/util/vircgroup.c
|
||||
Index: libvirt-6.8.0/src/util/vircgroup.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/util/vircgroup.c
|
||||
+++ libvirt-6.7.0/src/util/vircgroup.c
|
||||
--- libvirt-6.8.0.orig/src/util/vircgroup.c
|
||||
+++ libvirt-6.8.0/src/util/vircgroup.c
|
||||
@@ -2776,6 +2776,31 @@ virCgroupControllerAvailable(int control
|
||||
return ret;
|
||||
}
|
||||
@ -414,10 +414,10 @@ Index: libvirt-6.7.0/src/util/vircgroup.c
|
||||
int
|
||||
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
|
||||
bool create G_GNUC_UNUSED,
|
||||
Index: libvirt-6.7.0/src/util/vircgroup.h
|
||||
Index: libvirt-6.8.0/src/util/vircgroup.h
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/util/vircgroup.h
|
||||
+++ libvirt-6.7.0/src/util/vircgroup.h
|
||||
--- libvirt-6.8.0.orig/src/util/vircgroup.h
|
||||
+++ libvirt-6.8.0/src/util/vircgroup.h
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "virbitmap.h"
|
||||
@ -433,10 +433,10 @@ Index: libvirt-6.7.0/src/util/vircgroup.h
|
||||
+
|
||||
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
||||
+ virTypedParamListPtr params);
|
||||
Index: libvirt-6.7.0/src/conf/meson.build
|
||||
Index: libvirt-6.8.0/src/conf/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/conf/meson.build
|
||||
+++ libvirt-6.7.0/src/conf/meson.build
|
||||
--- libvirt-6.8.0.orig/src/conf/meson.build
|
||||
+++ libvirt-6.8.0/src/conf/meson.build
|
||||
@@ -14,6 +14,7 @@ domain_conf_sources = [
|
||||
'domain_capabilities.c',
|
||||
'domain_conf.c',
|
||||
|
@ -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-6.7.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
@@ -5328,6 +5328,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
@@ -5334,6 +5334,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
|
||||
#undef LIBXL_SET_MEMSTAT
|
||||
|
||||
@ -120,7 +120,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
static int
|
||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||
virDomainJobInfoPtr info)
|
||||
@@ -6797,6 +6887,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6803,6 +6893,7 @@ static virHypervisorDriver libxlHypervis
|
||||
#endif
|
||||
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
||||
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
||||
|
@ -9,10 +9,10 @@ them using the existing API.
|
||||
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 138 insertions(+)
|
||||
|
||||
Index: libvirt-6.7.0/src/lxc/lxc_driver.c
|
||||
Index: libvirt-6.8.0/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.7.0/src/lxc/lxc_driver.c
|
||||
--- libvirt-6.8.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.8.0/src/lxc/lxc_driver.c
|
||||
@@ -73,6 +73,8 @@
|
||||
#include "netdev_bandwidth_conf.h"
|
||||
#include "virsocket.h"
|
||||
|
@ -1,124 +0,0 @@
|
||||
commit 2ad009eadde27491ff4248f481560953776b2a87
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Thu Aug 20 15:52:17 2020 -0600
|
||||
|
||||
qemu: Check for changes in qemu modules directory
|
||||
|
||||
Add a configuration option for specifying location of the qemu modules
|
||||
directory, defaulting to /usr/lib64/qemu. Then use this location to
|
||||
check for changes in the directory, indicating that a qemu module has
|
||||
changed and capabilities need to be reprobed.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
|
||||
Index: libvirt-6.7.0/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/meson.build
|
||||
+++ libvirt-6.7.0/meson.build
|
||||
@@ -1758,6 +1758,12 @@ if not get_option('driver_qemu').disable
|
||||
if use_qemu
|
||||
conf.set('WITH_QEMU', 1)
|
||||
|
||||
+ qemu_moddir = get_option('qemu_moddir')
|
||||
+ if qemu_moddir == ''
|
||||
+ qemu_moddir = '/usr' / libdir / 'qemu'
|
||||
+ endif
|
||||
+ conf.set_quoted('QEMU_MODDIR', qemu_moddir)
|
||||
+
|
||||
if host_machine.system() in ['freebsd', 'darwin']
|
||||
default_qemu_user = 'root'
|
||||
default_qemu_group = 'wheel'
|
||||
Index: libvirt-6.7.0/meson_options.txt
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/meson_options.txt
|
||||
+++ libvirt-6.7.0/meson_options.txt
|
||||
@@ -60,6 +60,7 @@ option('driver_openvz', type: 'feature',
|
||||
option('driver_qemu', type: 'feature', value: 'auto', description: 'QEMU/KVM driver')
|
||||
option('qemu_user', type: 'string', value: '', description: 'username to run QEMU system instance as')
|
||||
option('qemu_group', type: 'string', value: '', description: 'groupname to run QEMU system instance as')
|
||||
+option('qemu_moddir', type: 'string', value: '', description: 'set the directory where QEMU modules are located')
|
||||
option('driver_remote', type: 'feature', value: 'enabled', description: 'remote driver')
|
||||
option('remote_default_mode', type: 'combo', choices: ['legacy', 'direct'], value: 'legacy', description: 'remote driver default mode')
|
||||
option('driver_secrets', type: 'feature', value: 'auto', description: 'local secrets management driver')
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_capabilities.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_capabilities.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_capabilities.c
|
||||
@@ -677,6 +677,7 @@ struct _virQEMUCaps {
|
||||
char *binary;
|
||||
time_t ctime;
|
||||
time_t libvirtCtime;
|
||||
+ time_t modDirMtime;
|
||||
bool invalidation;
|
||||
|
||||
virBitmapPtr flags;
|
||||
@@ -4194,6 +4195,7 @@ virQEMUCapsParseSEVInfo(virQEMUCapsPtr q
|
||||
* <qemuCaps>
|
||||
* <emulator>/some/path</emulator>
|
||||
* <qemuctime>234235253</qemuctime>
|
||||
+ * <qemumoddirmtime>234235253</qemumoddirmtime>
|
||||
* <selfctime>234235253</selfctime>
|
||||
* <selfvers>1002016</selfvers>
|
||||
* <flag name='foo'/>
|
||||
@@ -4283,6 +4285,9 @@ virQEMUCapsLoadCache(virArch hostArch,
|
||||
}
|
||||
qemuCaps->ctime = (time_t)l;
|
||||
|
||||
+ if (virXPathLongLong("string(./qemumoddirmtime)", ctxt, &l) == 0)
|
||||
+ qemuCaps->modDirMtime = (time_t)l;
|
||||
+
|
||||
if ((n = virXPathNodeSet("./flag", ctxt, &nodes)) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("failed to parse qemu capabilities flags"));
|
||||
@@ -4615,6 +4620,10 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qe
|
||||
qemuCaps->binary);
|
||||
virBufferAsprintf(&buf, "<qemuctime>%llu</qemuctime>\n",
|
||||
(long long)qemuCaps->ctime);
|
||||
+ if (qemuCaps->modDirMtime > 0) {
|
||||
+ virBufferAsprintf(&buf, "<qemumoddirmtime>%llu</qemumoddirmtime>\n",
|
||||
+ (long long)qemuCaps->modDirMtime);
|
||||
+ }
|
||||
virBufferAsprintf(&buf, "<selfctime>%llu</selfctime>\n",
|
||||
(long long)qemuCaps->libvirtCtime);
|
||||
virBufferAsprintf(&buf, "<selfvers>%lu</selfvers>\n",
|
||||
@@ -4881,6 +4890,23 @@ virQEMUCapsIsValid(void *data,
|
||||
if (!qemuCaps->binary)
|
||||
return true;
|
||||
|
||||
+ if (virFileExists(QEMU_MODDIR)) {
|
||||
+ if (stat(QEMU_MODDIR, &sb) < 0) {
|
||||
+ VIR_DEBUG("Failed to stat QEMU module directory '%s': %s",
|
||||
+ QEMU_MODDIR,
|
||||
+ g_strerror(errno));
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (sb.st_mtime != qemuCaps->modDirMtime) {
|
||||
+ VIR_DEBUG("Outdated capabilities for '%s': QEMU modules "
|
||||
+ "directory '%s' changed (%lld vs %lld)",
|
||||
+ qemuCaps->binary, QEMU_MODDIR,
|
||||
+ (long long)sb.st_mtime, (long long)qemuCaps->modDirMtime);
|
||||
+ return false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (qemuCaps->libvirtCtime != virGetSelfLastChanged() ||
|
||||
qemuCaps->libvirtVersion != LIBVIR_VERSION_NUMBER) {
|
||||
VIR_DEBUG("Outdated capabilities for '%s': libvirt changed "
|
||||
@@ -5463,6 +5489,15 @@ virQEMUCapsNewForBinaryInternal(virArch
|
||||
goto error;
|
||||
}
|
||||
|
||||
+ if (virFileExists(QEMU_MODDIR)) {
|
||||
+ if (stat(QEMU_MODDIR, &sb) < 0) {
|
||||
+ virReportSystemError(errno, _("Cannot check QEMU module directory %s"),
|
||||
+ QEMU_MODDIR);
|
||||
+ goto error;
|
||||
+ }
|
||||
+ qemuCaps->modDirMtime = sb.st_mtime;
|
||||
+ }
|
||||
+
|
||||
if (virQEMUCapsInitQMP(qemuCaps, libDir, runUid, runGid) < 0)
|
||||
goto error;
|
||||
|
@ -1,118 +0,0 @@
|
||||
commit 4a72b76b8a99ab6c33f468e767cb33cf1fcec843
|
||||
Author: Michal Prívozník <mprivozn@redhat.com>
|
||||
Date: Mon Sep 7 13:35:50 2020 +0200
|
||||
|
||||
qemu_namespace: Don't leak mknod items that are being skipped over
|
||||
|
||||
When building and populating domain NS a couple of functions are
|
||||
called that append paths to a string list. This string list is
|
||||
then inspected, one item at the time by
|
||||
qemuNamespacePrepareOneItem() which gathers all the info for
|
||||
given path (stat buffer, possible link target, ACLs, SELinux
|
||||
label) using qemuNamespaceMknodItemInit(). If the path needs to
|
||||
be created in the domain's private /dev then it's added onto this
|
||||
qemuNamespaceMknodData list which is freed later in the process.
|
||||
But, if the path does not need to be created in the domain's
|
||||
private /dev, then the memory allocated by
|
||||
qemuNamespaceMknodItemInit() is not freed anywhere leading to a
|
||||
leak.
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_namespace.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_namespace.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_namespace.c
|
||||
@@ -871,7 +871,7 @@ qemuDomainNamespaceAvailable(qemuDomainN
|
||||
typedef struct _qemuNamespaceMknodItem qemuNamespaceMknodItem;
|
||||
typedef qemuNamespaceMknodItem *qemuNamespaceMknodItemPtr;
|
||||
struct _qemuNamespaceMknodItem {
|
||||
- const char *file;
|
||||
+ char *file;
|
||||
char *target;
|
||||
bool bindmounted;
|
||||
GStatBuf sb;
|
||||
@@ -892,6 +892,7 @@ struct _qemuNamespaceMknodData {
|
||||
static void
|
||||
qemuNamespaceMknodItemClear(qemuNamespaceMknodItemPtr item)
|
||||
{
|
||||
+ VIR_FREE(item->file);
|
||||
VIR_FREE(item->target);
|
||||
virFileFreeACLs(&item->acl);
|
||||
#ifdef WITH_SELINUX
|
||||
@@ -900,6 +901,8 @@ qemuNamespaceMknodItemClear(qemuNamespac
|
||||
}
|
||||
|
||||
|
||||
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(qemuNamespaceMknodItem, qemuNamespaceMknodItemClear);
|
||||
+
|
||||
static void
|
||||
qemuNamespaceMknodDataClear(qemuNamespaceMknodDataPtr data)
|
||||
{
|
||||
@@ -1091,7 +1094,7 @@ qemuNamespaceMknodItemInit(qemuNamespace
|
||||
bool isLink;
|
||||
bool needsBindMount;
|
||||
|
||||
- item->file = file;
|
||||
+ item->file = g_strdup(file);
|
||||
|
||||
if (g_lstat(file, &item->sb) < 0) {
|
||||
if (errno == ENOENT)
|
||||
@@ -1166,11 +1169,13 @@ qemuNamespacePrepareOneItem(qemuNamespac
|
||||
size_t ndevMountsPath)
|
||||
{
|
||||
long ttl = sysconf(_SC_SYMLOOP_MAX);
|
||||
- const char *next = file;
|
||||
+ g_autofree char *next = g_strdup(file);
|
||||
size_t i;
|
||||
|
||||
while (1) {
|
||||
- qemuNamespaceMknodItem item = { 0 };
|
||||
+ g_auto(qemuNamespaceMknodItem) item = { 0 };
|
||||
+ bool isLink;
|
||||
+ bool addToData = false;
|
||||
int rc;
|
||||
|
||||
rc = qemuNamespaceMknodItemInit(&item, cfg, vm, next);
|
||||
@@ -1182,6 +1187,8 @@ qemuNamespacePrepareOneItem(qemuNamespac
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ isLink = S_ISLNK(item.sb.st_mode);
|
||||
+
|
||||
if (STRPREFIX(next, QEMU_DEVPREFIX)) {
|
||||
for (i = 0; i < ndevMountsPath; i++) {
|
||||
if (STREQ(devMountsPath[i], "/dev"))
|
||||
@@ -1190,12 +1197,18 @@ qemuNamespacePrepareOneItem(qemuNamespac
|
||||
break;
|
||||
}
|
||||
|
||||
- if (i == ndevMountsPath &&
|
||||
- VIR_APPEND_ELEMENT_COPY(data->items, data->nitems, item) < 0)
|
||||
- return -1;
|
||||
+ if (i == ndevMountsPath)
|
||||
+ addToData = true;
|
||||
}
|
||||
|
||||
- if (!S_ISLNK(item.sb.st_mode))
|
||||
+ g_free(next);
|
||||
+ next = g_strdup(item.target);
|
||||
+
|
||||
+ if (addToData &&
|
||||
+ VIR_APPEND_ELEMENT(data->items, data->nitems, item) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ if (!isLink)
|
||||
break;
|
||||
|
||||
if (ttl-- == 0) {
|
||||
@@ -1204,8 +1217,6 @@ qemuNamespacePrepareOneItem(qemuNamespac
|
||||
next);
|
||||
return -1;
|
||||
}
|
||||
-
|
||||
- next = item.target;
|
||||
}
|
||||
|
||||
return 0;
|
@ -1,70 +0,0 @@
|
||||
commit 8abd1ffed18394a6212c469cb2c7b6cc28a122d2
|
||||
Author: Michal Prívozník <mprivozn@redhat.com>
|
||||
Date: Thu Sep 3 18:07:43 2020 +0200
|
||||
|
||||
qemu_namespace: Be tolerant to non-existent files when populating /dev
|
||||
|
||||
In 6.7.0 release I've changed how domain namespace is built and
|
||||
populated. Previously it used to be done from a pre-exec hook
|
||||
(ran in the forked off child, just before dropping all privileges
|
||||
and exec()-ing QEMU), which not only meant we had to have two
|
||||
different code paths for creating a node in domain's namespace
|
||||
(one for this pre-exec hook, the other for hotplug ran from the
|
||||
daemon), it also proved problematic because it was leaking FDs
|
||||
into QEMU process.
|
||||
|
||||
To mitigate this problem, we've not only ditched libdevmapper
|
||||
from the NS population process, I've also dropped the pre-exec
|
||||
code and let the NS be populated from the daemon (using the
|
||||
hotplug code). But, I was not careful when doing so, because the
|
||||
pre-exec code was tolerant to files that doesn't exist, while
|
||||
this new code isn't. For instance, the very first thing that is
|
||||
done when the new NS is created is it's populated with
|
||||
@defaultDeviceACL which contain files like /dev/null, /dev/zero,
|
||||
/dev/random and /dev/kvm (and others). While the rest will
|
||||
probably exist every time, /dev/kvm might not and thus the new
|
||||
code I wrote has to be tolerant to that.
|
||||
|
||||
Of course, users can override the @defaultDeviceACL (by setting
|
||||
cgroup_device_acl in qemu.conf) and remove /dev/kvm (which is
|
||||
acceptable workaround), but we definitely want libvirt to work
|
||||
out of the box even on hosts without KVM.
|
||||
|
||||
Fixes: 9048dc4e627ddf33996084167bece7b5fb83b0bc
|
||||
Reported-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_namespace.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_namespace.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_namespace.c
|
||||
@@ -1094,6 +1094,9 @@ qemuNamespaceMknodItemInit(qemuNamespace
|
||||
item->file = file;
|
||||
|
||||
if (g_lstat(file, &item->sb) < 0) {
|
||||
+ if (errno == ENOENT)
|
||||
+ return -2;
|
||||
+
|
||||
virReportSystemError(errno,
|
||||
_("Unable to access %s"), file);
|
||||
return -1;
|
||||
@@ -1168,9 +1171,16 @@ qemuNamespacePrepareOneItem(qemuNamespac
|
||||
|
||||
while (1) {
|
||||
qemuNamespaceMknodItem item = { 0 };
|
||||
+ int rc;
|
||||
|
||||
- if (qemuNamespaceMknodItemInit(&item, cfg, vm, next) < 0)
|
||||
+ rc = qemuNamespaceMknodItemInit(&item, cfg, vm, next);
|
||||
+ if (rc == -2) {
|
||||
+ /* @file doesn't exist. We can break here. */
|
||||
+ break;
|
||||
+ } else if (rc < 0) {
|
||||
+ /* Some other (critical) error. */
|
||||
return -1;
|
||||
+ }
|
||||
|
||||
if (STRPREFIX(next, QEMU_DEVPREFIX)) {
|
||||
for (i = 0; i < ndevMountsPath; i++) {
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:655b9476c797cdd3bb12e2520acc37335e5299b2d56a5bb9ab3f55db40161342
|
||||
size 8362140
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAl9N8/gACgkQymi+gBAI
|
||||
TJxc/g//byuzhYbB4+YF1nDWD7UN6pGz/N+23Rj1LX2qGlJkFrzW1quMiGTgviFV
|
||||
V0y1D211WNkbJvZ2b4BtPY/rS0DDqlLAxT8Z8B5+2rmJeOfmbRkHUSobxBRrjDMP
|
||||
jCRo2Vc1uh0YIQxde5/Su+fXkrRU5+kFzAwmtS8Q2EobiXRWBVcUwHtM3Ix2R+3y
|
||||
gUMOqag3NhDc1rVyAcszOnxhYjVeoHmaOaBfLOYLLQsZoESofXgugx9ybWGFSPsW
|
||||
CtKIkBZLG/w9cDDJperN4runDu9O1FNgaCFd/2lX51f75b9DxHQcOL7HW15E6H9l
|
||||
ssu7djcrxS1DQefgTe1tpDfBl5nILKvlUSrVStBVOe41SM/in4AcS5PkQk2HDEiS
|
||||
omVa5cs6DsezNSEkXGgKXMyGNq+I/MdF+F67lrL/a9qS2hr8euBs5EuZAi3ussZc
|
||||
4pzMtW+nRsrnz4pPXb82NVWGbGrYyxBkbhYd148iaOCcp4/RRKtDpvICVaJAHKbN
|
||||
TAHxy82SUGcdlI8RGu3nAT260ZEQ008pu+GF3cwJMqQoK9S/C4i+GiR+WmvE6MAd
|
||||
KQtdKXyRkXqP8n+fTZSfEfZm2cWVCSvOW5fC3wzWiEIvy7fIG5pH1TOTFai9+ARv
|
||||
Owmo7nFNH2cjy1EdVIBk1mR3ccc26TED/P3SE2KlH9z3saEQuRE=
|
||||
=nU1U
|
||||
-----END PGP SIGNATURE-----
|
3
libvirt-6.8.0.tar.xz
Normal file
3
libvirt-6.8.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0c2d7f6ed8bc4956bf7f0c8ca2897c6c82ddb91e3118ab7a588b25eedd16ef69
|
||||
size 8412092
|
16
libvirt-6.8.0.tar.xz.asc
Normal file
16
libvirt-6.8.0.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAl91iyMACgkQymi+gBAI
|
||||
TJyZ7RAAguxlYBvKkG6Q3PBrJc67pyQdB1hi+42CLcR0V2GdiPtoC1UL77wwDO6b
|
||||
xkXn4D9QJQ70uVDJ/HivuA8uSVdj9qJsbFe5SsHTTeHz6HE+k+tbhWM1O0ALilfl
|
||||
EaDQl5GF+00IwGyxLBABvg5dcqhLcPfdCAu+tuFDy8b7x8PkgN1XlMyucddYcCeY
|
||||
YXX7JCJ/ckrCaC+OfGzurZOTLrz2k3u55ezSEsQ6VjxAegEz5kGb7sXKSgbRxd/L
|
||||
xozHJcJwccRXirjNVtnSdn9zJwqzjys+yeyxVuNs2MM9Vd8urUW8TnE4L2DN9ojM
|
||||
pMt/xmItZGoMMeamc9IfH/9AfMYy3Z/lYxHO7cu+xw7EOtAqHQOl2yWuE8ukKXVu
|
||||
PYU6zfupfAYn7EgsNFVgeYQPpK6p0lG72+G+KiaJ3iHzTJXz7478rQTdSCrcdIYP
|
||||
60JoLePSXt5+VsHVCR1zGS2e4NG8HfZ8JJ7fIfF4AsaHwbF3lfp+tT4db1zfeP+B
|
||||
URQOebXHjLgh5ytZY5i2MSa4E31dHSpWx0RLYOfziPss8IqtE+OUKjHFLlzdwMq5
|
||||
eMVnrgnb5B1jN0dfpGHQcrkAb3uVQ0A0+A8TGIvVrksKO+Oie385lkbUGwak4s0k
|
||||
2rv+77qK8cVLw6TZE6RXPhjHT3/8zMKuXRsIyhX6ofItG5x2BK4=
|
||||
=eHB4
|
||||
-----END PGP SIGNATURE-----
|
@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
|
||||
|
||||
From: <ro@suse.de>
|
||||
|
||||
Index: libvirt-6.7.0/src/cpu_map/ppc64_POWER8.xml
|
||||
Index: libvirt-6.8.0/src/cpu_map/ppc64_POWER8.xml
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||
+++ libvirt-6.7.0/src/cpu_map/ppc64_POWER8.xml
|
||||
--- libvirt-6.8.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||
+++ libvirt-6.8.0/src/cpu_map/ppc64_POWER8.xml
|
||||
@@ -4,5 +4,7 @@
|
||||
<pvr value='0x004b0000' mask='0xffff0000'/>
|
||||
<pvr value='0x004c0000' mask='0xffff0000'/>
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-6.7.0/tools/virsh.c
|
||||
Index: libvirt-6.8.0/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tools/virsh.c
|
||||
+++ libvirt-6.7.0/tools/virsh.c
|
||||
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||
--- libvirt-6.8.0.orig/tools/virsh.c
|
||||
+++ libvirt-6.8.0/tools/virsh.c
|
||||
@@ -542,6 +542,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||
vshPrint(ctl, " Interface");
|
||||
# if defined(WITH_NETCF)
|
||||
vshPrint(ctl, " netcf");
|
||||
@ -11,10 +11,10 @@ Index: libvirt-6.7.0/tools/virsh.c
|
||||
# elif defined(WITH_UDEV)
|
||||
vshPrint(ctl, " udev");
|
||||
# endif
|
||||
Index: libvirt-6.7.0/src/interface/interface_backend_netcf.c
|
||||
Index: libvirt-6.8.0/src/interface/interface_backend_netcf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-6.7.0/src/interface/interface_backend_netcf.c
|
||||
--- libvirt-6.8.0.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-6.8.0/src/interface/interface_backend_netcf.c
|
||||
@@ -21,7 +21,12 @@
|
||||
|
||||
#include <config.h>
|
||||
@ -126,10 +126,10 @@ Index: libvirt-6.7.0/src/interface/interface_backend_netcf.c
|
||||
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
||||
return -1;
|
||||
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
||||
Index: libvirt-6.7.0/src/interface/interface_driver.c
|
||||
Index: libvirt-6.8.0/src/interface/interface_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/interface/interface_driver.c
|
||||
+++ libvirt-6.7.0/src/interface/interface_driver.c
|
||||
--- libvirt-6.8.0.orig/src/interface/interface_driver.c
|
||||
+++ libvirt-6.8.0/src/interface/interface_driver.c
|
||||
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
||||
if (netcfIfaceRegister() == 0)
|
||||
return 0;
|
||||
@ -147,11 +147,11 @@ Index: libvirt-6.7.0/src/interface/interface_driver.c
|
||||
if (udevIfaceRegister() == 0)
|
||||
return 0;
|
||||
#endif /* WITH_UDEV */
|
||||
Index: libvirt-6.7.0/meson.build
|
||||
Index: libvirt-6.8.0/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/meson.build
|
||||
+++ libvirt-6.7.0/meson.build
|
||||
@@ -1201,6 +1201,12 @@ if netcf_dep.found()
|
||||
--- libvirt-6.8.0.orig/meson.build
|
||||
+++ libvirt-6.8.0/meson.build
|
||||
@@ -1184,6 +1184,12 @@ if netcf_dep.found()
|
||||
conf.set('WITH_NETCF', 1)
|
||||
endif
|
||||
|
||||
@ -164,7 +164,7 @@ Index: libvirt-6.7.0/meson.build
|
||||
have_gnu_gettext_tools = false
|
||||
if not get_option('nls').disabled()
|
||||
have_gettext = cc.has_function('gettext')
|
||||
@@ -1632,10 +1638,10 @@ elif get_option('driver_hyperv').enabled
|
||||
@@ -1612,10 +1618,10 @@ elif get_option('driver_hyperv').enabled
|
||||
error('openwsman is required for the Hyper-V driver')
|
||||
endif
|
||||
|
||||
@ -177,7 +177,7 @@ Index: libvirt-6.7.0/meson.build
|
||||
endif
|
||||
|
||||
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
|
||||
@@ -2442,6 +2448,7 @@ libs_summary = {
|
||||
@@ -2420,6 +2426,7 @@ libs_summary = {
|
||||
'libxml': libxml_dep.found(),
|
||||
'macvtap': conf.has('WITH_MACVTAP'),
|
||||
'netcf': netcf_dep.found(),
|
||||
@ -185,10 +185,10 @@ Index: libvirt-6.7.0/meson.build
|
||||
'NLS': have_gnu_gettext_tools,
|
||||
'nss': conf.has('WITH_NSS'),
|
||||
'numactl': numactl_dep.found(),
|
||||
Index: libvirt-6.7.0/src/interface/meson.build
|
||||
Index: libvirt-6.8.0/src/interface/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/interface/meson.build
|
||||
+++ libvirt-6.7.0/src/interface/meson.build
|
||||
--- libvirt-6.8.0.orig/src/interface/meson.build
|
||||
+++ libvirt-6.8.0/src/interface/meson.build
|
||||
@@ -2,7 +2,7 @@ interface_driver_sources = [
|
||||
'interface_driver.c',
|
||||
]
|
||||
@ -206,11 +206,11 @@ Index: libvirt-6.7.0/src/interface/meson.build
|
||||
udev_dep,
|
||||
],
|
||||
'link_args': [
|
||||
Index: libvirt-6.7.0/meson_options.txt
|
||||
Index: libvirt-6.8.0/meson_options.txt
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/meson_options.txt
|
||||
+++ libvirt-6.7.0/meson_options.txt
|
||||
@@ -30,6 +30,7 @@ option('libssh', type: 'feature', value:
|
||||
--- libvirt-6.8.0.orig/meson_options.txt
|
||||
+++ libvirt-6.8.0/meson_options.txt
|
||||
@@ -28,6 +28,7 @@ option('libssh', type: 'feature', value:
|
||||
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')
|
||||
option('macvtap', type: 'feature', value: 'auto', description: 'enable macvtap device')
|
||||
option('netcf', type: 'feature', value: 'auto', description: 'netcf support')
|
||||
|
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 1 15:56:21 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
- Update to libvirt 6.8.0
|
||||
- jsc#SLE-12684, jsc#SLE-15861
|
||||
- bsc#1174955 (CVE-2020-15708)
|
||||
- bsc#1177155 (CVE-2020-25637)
|
||||
- Many incremental improvements and bug fixes, see
|
||||
https://libvirt.org/news.html
|
||||
- Dropped patches:
|
||||
2ad009ea-qemu-check-modules-dir.patch,
|
||||
8abd1ffe-qemu-tolerate-non-existent-files.patch,
|
||||
4a72b76b-qemu-namespace-memleak-fix.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 10 17:49:45 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
|
16
libvirt.spec
16
libvirt.spec
@ -156,7 +156,7 @@
|
||||
|
||||
Name: libvirt
|
||||
URL: http://libvirt.org/
|
||||
Version: 6.7.0
|
||||
Version: 6.8.0
|
||||
Release: 0
|
||||
Summary: Library providing a virtualization API
|
||||
License: LGPL-2.1-or-later
|
||||
@ -242,8 +242,6 @@ BuildRequires: ebtables
|
||||
BuildRequires: iptables
|
||||
BuildRequires: polkit >= 0.112
|
||||
BuildRequires: radvd
|
||||
# Communication with the firewall and polkit daemons use DBus
|
||||
BuildRequires: dbus-1-devel
|
||||
# For mount/umount in FS driver
|
||||
BuildRequires: util-linux
|
||||
# For LVM drivers
|
||||
@ -309,9 +307,6 @@ Source6: libvirtd-relocation-server.xml
|
||||
Source99: baselibs.conf
|
||||
Source100: %{name}-rpmlintrc
|
||||
# Upstream patches
|
||||
Patch0: 2ad009ea-qemu-check-modules-dir.patch
|
||||
Patch1: 8abd1ffe-qemu-tolerate-non-existent-files.patch
|
||||
Patch2: 4a72b76b-qemu-namespace-memleak-fix.patch
|
||||
# Patches pending upstream review
|
||||
Patch100: libxl-dom-reset.patch
|
||||
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
||||
@ -760,7 +755,6 @@ capabilities of VirtualBox
|
||||
Summary: Client side utilities of the libvirt library
|
||||
Group: System/Management
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: readline
|
||||
# Needed by libvirt-guests init script.
|
||||
Requires: gettext-runtime
|
||||
# Needed by virt-pki-validate script.
|
||||
@ -791,7 +785,6 @@ Shared libraries for accessing the libvirt daemon.
|
||||
Summary: Set of tools to control libvirt daemon
|
||||
Group: System/Management
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: readline
|
||||
%if %{with_bash_completion}
|
||||
Recommends: %{name}-bash-completion = %{version}-%{release}
|
||||
%endif
|
||||
@ -848,9 +841,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch150 -p1
|
||||
@ -1042,7 +1032,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
%{?arg_selinux_mount} \
|
||||
%{?arg_apparmor} \
|
||||
%{?arg_apparmor_profiles} \
|
||||
-Dhal=disabled \
|
||||
-Dudev=enabled \
|
||||
-Dyajl=enabled \
|
||||
%{?arg_sanlock} \
|
||||
@ -1486,6 +1475,7 @@ fi
|
||||
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
||||
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
|
||||
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_iohelper
|
||||
%attr(0755, root, root) %{_bindir}/virt-ssh-helper
|
||||
%doc %{_mandir}/man8/libvirtd.8*
|
||||
%doc %{_mandir}/man8/virtlogd.8*
|
||||
%doc %{_mandir}/man8/virtlockd.8*
|
||||
@ -1865,7 +1855,7 @@ fi
|
||||
%{_datadir}/%{name}/api/libvirt-lxc-api.xml
|
||||
|
||||
%files doc
|
||||
%doc AUTHORS NEWS.rst README.rst
|
||||
%doc AUTHORS.rst NEWS.rst README.rst
|
||||
%license COPYING COPYING.LESSER
|
||||
%dir %{_datadir}/doc/%{name}
|
||||
%doc %{_datadir}/doc/%{name}/*
|
||||
|
@ -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-6.7.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
@@ -1371,6 +1371,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
@@ -1377,6 +1377,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
}
|
||||
|
||||
static int
|
||||
@ -74,7 +74,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||
unsigned int flags)
|
||||
{
|
||||
@@ -6672,6 +6727,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6678,6 +6733,7 @@ static virHypervisorDriver libxlHypervis
|
||||
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
||||
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
||||
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
||||
|
@ -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-6.7.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
@@ -912,6 +912,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
@@ -925,6 +925,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
static char *
|
||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||
const char *username,
|
||||
@@ -1149,6 +1173,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1162,6 +1186,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;
|
||||
|
@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
tools/virsh.pod | 8 ++++++++
|
||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: libvirt-6.7.0/include/libvirt/libvirt-domain.h
|
||||
Index: libvirt-6.8.0/include/libvirt/libvirt-domain.h
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/include/libvirt/libvirt-domain.h
|
||||
+++ libvirt-6.7.0/include/libvirt/libvirt-domain.h
|
||||
@@ -1065,6 +1065,31 @@ typedef enum {
|
||||
--- libvirt-6.8.0.orig/include/libvirt/libvirt-domain.h
|
||||
+++ libvirt-6.8.0/include/libvirt/libvirt-domain.h
|
||||
@@ -1078,6 +1078,31 @@ typedef enum {
|
||||
*/
|
||||
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
|
||||
|
||||
@ -52,11 +52,11 @@ Index: libvirt-6.7.0/include/libvirt/libvirt-domain.h
|
||||
/* Domain migration. */
|
||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||
unsigned long flags, const char *dname,
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
@@ -6237,6 +6237,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_driver.c
|
||||
@@ -6243,6 +6243,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
const char *dname = NULL;
|
||||
const char *uri = NULL;
|
||||
int ret = -1;
|
||||
@ -66,7 +66,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
|
||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||
virReportUnsupportedError();
|
||||
@@ -6253,6 +6256,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6259,6 +6262,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_DEST_NAME,
|
||||
&dname) < 0 ||
|
||||
@ -85,7 +85,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_driver.c
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_URI,
|
||||
&uri) < 0)
|
||||
@@ -6267,11 +6282,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6273,11 +6288,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-6.7.0/src/libxl/libxl_driver.c
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_migration.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_migration.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_migration.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_migration.c
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_migration.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_migration.c
|
||||
@@ -345,18 +345,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||
static int
|
||||
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
||||
@ -264,10 +264,10 @@ Index: libvirt-6.7.0/src/libxl/libxl_migration.c
|
||||
virObjectLock(vm);
|
||||
|
||||
if (ret == 0) {
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_migration.h
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_migration.h
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_migration.h
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_migration.h
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_migration.h
|
||||
+++ libvirt-6.8.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-6.7.0/src/libxl/libxl_migration.h
|
||||
|
||||
virDomainPtr
|
||||
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
||||
Index: libvirt-6.7.0/tools/virsh-domain.c
|
||||
Index: libvirt-6.8.0/tools/virsh-domain.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tools/virsh-domain.c
|
||||
+++ libvirt-6.7.0/tools/virsh-domain.c
|
||||
@@ -10699,6 +10699,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||
--- libvirt-6.8.0.orig/tools/virsh-domain.c
|
||||
+++ libvirt-6.8.0/tools/virsh-domain.c
|
||||
@@ -10722,6 +10722,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||
.type = VSH_OT_STRING,
|
||||
.help = N_("override the destination host name used for TLS verification")
|
||||
},
|
||||
@ -339,7 +339,7 @@ Index: libvirt-6.7.0/tools/virsh-domain.c
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
@@ -10720,6 +10736,7 @@ doMigrate(void *opaque)
|
||||
@@ -10742,6 +10758,7 @@ doMigrate(void *opaque)
|
||||
unsigned long long ullOpt = 0;
|
||||
int rv;
|
||||
virConnectPtr dconn = data->dconn;
|
||||
@ -347,7 +347,7 @@ Index: libvirt-6.7.0/tools/virsh-domain.c
|
||||
#ifndef WIN32
|
||||
sigset_t sigmask, oldsigmask;
|
||||
|
||||
@@ -10842,6 +10859,27 @@ doMigrate(void *opaque)
|
||||
@@ -10872,6 +10889,27 @@ doMigrate(void *opaque)
|
||||
goto save_error;
|
||||
}
|
||||
|
||||
@ -375,20 +375,21 @@ Index: libvirt-6.7.0/tools/virsh-domain.c
|
||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||
goto out;
|
||||
if (opt) {
|
||||
Index: libvirt-6.7.0/docs/manpages/virsh.rst
|
||||
Index: libvirt-6.8.0/docs/manpages/virsh.rst
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/docs/manpages/virsh.rst
|
||||
+++ libvirt-6.7.0/docs/manpages/virsh.rst
|
||||
@@ -3113,6 +3113,8 @@ migrate
|
||||
--- libvirt-6.8.0.orig/docs/manpages/virsh.rst
|
||||
+++ libvirt-6.8.0/docs/manpages/virsh.rst
|
||||
@@ -3113,7 +3113,8 @@ migrate
|
||||
[--postcopy-bandwidth bandwidth]
|
||||
[--parallel [--parallel-connections connections]]
|
||||
[--bandwidth bandwidth] [--tls-destination hostname]
|
||||
+ [--max_iters num] [--max_factor num] [--min_remaining num]
|
||||
+ [--abort_if_busy]
|
||||
- [--disks-uri URI]
|
||||
+ [--disks-uri URI] [--max_iters num] [--max_factor num]
|
||||
+ [--min_remaining num] [--abort_if_busy]
|
||||
|
||||
Migrate domain to another host. Add *--live* for live migration; <--p2p>
|
||||
for peer-2-peer migration; *--direct* for direct migration; or *--tunnelled*
|
||||
@@ -3218,6 +3220,14 @@ parallel connections. The number of such
|
||||
@@ -3219,6 +3220,14 @@ parallel connections. The number of such
|
||||
network link between the source and the target and thus speeding up the
|
||||
migration.
|
||||
|
||||
|
@ -7,11 +7,11 @@ and npiv.
|
||||
|
||||
For more details, see bsc#954872 and FATE#319810
|
||||
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
@@ -912,6 +912,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
@@ -925,6 +925,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
static void
|
||||
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
||||
{
|
||||
@@ -1048,6 +1064,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
@@ -1061,6 +1077,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
int
|
||||
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
||||
{
|
||||
@ -42,7 +42,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
const char *driver = virDomainDiskGetDriver(l_disk);
|
||||
int format = virDomainDiskGetFormat(l_disk);
|
||||
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
||||
@@ -1063,7 +1080,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1076,7 +1093,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
||||
return -1;
|
||||
} else {
|
||||
@ -51,7 +51,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
}
|
||||
|
||||
x_disk->vdev = g_strdup(l_disk->dst);
|
||||
@@ -1174,6 +1191,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1187,6 +1204,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||
return -1;
|
||||
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
||||
|
@ -13,10 +13,10 @@ device with the same name that is being created.
|
||||
src/lxc/lxc_process.c | 1 +
|
||||
3 files changed, 4 insertions(+)
|
||||
|
||||
Index: libvirt-6.7.0/src/lxc/lxc_controller.c
|
||||
Index: libvirt-6.8.0/src/lxc/lxc_controller.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-6.7.0/src/lxc/lxc_controller.c
|
||||
--- libvirt-6.8.0.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-6.8.0/src/lxc/lxc_controller.c
|
||||
@@ -2026,6 +2026,7 @@ static int virLXCControllerDeleteInterfa
|
||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||
ret = -1;
|
||||
@ -25,10 +25,10 @@ Index: libvirt-6.7.0/src/lxc/lxc_controller.c
|
||||
|
||||
return ret;
|
||||
}
|
||||
Index: libvirt-6.7.0/src/lxc/lxc_driver.c
|
||||
Index: libvirt-6.8.0/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.7.0/src/lxc/lxc_driver.c
|
||||
--- libvirt-6.8.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.8.0/src/lxc/lxc_driver.c
|
||||
@@ -66,6 +66,7 @@
|
||||
#include "virtime.h"
|
||||
#include "virtypedparam.h"
|
||||
@ -53,10 +53,10 @@ Index: libvirt-6.7.0/src/lxc/lxc_driver.c
|
||||
break;
|
||||
|
||||
/* It'd be nice to support this, but with macvlan
|
||||
Index: libvirt-6.7.0/src/lxc/lxc_process.c
|
||||
Index: libvirt-6.8.0/src/lxc/lxc_process.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/lxc/lxc_process.c
|
||||
+++ libvirt-6.7.0/src/lxc/lxc_process.c
|
||||
--- libvirt-6.8.0.orig/src/lxc/lxc_process.c
|
||||
+++ libvirt-6.8.0/src/lxc/lxc_process.c
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "virstring.h"
|
||||
#include "virprocess.h"
|
||||
|
@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
|
||||
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: libvirt-6.7.0/src/network/bridge_driver.c
|
||||
Index: libvirt-6.8.0/src/network/bridge_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-6.7.0/src/network/bridge_driver.c
|
||||
@@ -1448,7 +1448,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||
--- libvirt-6.8.0.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-6.8.0/src/network/bridge_driver.c
|
||||
@@ -1445,7 +1445,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
||||
if (ipdef->nranges || ipdef->nhosts) {
|
||||
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
||||
@ -37,10 +37,10 @@ Index: libvirt-6.7.0/src/network/bridge_driver.c
|
||||
}
|
||||
|
||||
if (ipdef->tftproot) {
|
||||
Index: libvirt-6.7.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
Index: libvirt-6.8.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
+++ libvirt-6.7.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
--- libvirt-6.8.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
+++ libvirt-6.8.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
@@ -10,7 +10,6 @@ bind-dynamic
|
||||
interface=virbr1
|
||||
dhcp-range=192.168.122.1,static
|
||||
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
||||
|
||||
See bnc#894956
|
||||
|
||||
Index: libvirt-6.7.0/src/util/virarch.c
|
||||
Index: libvirt-6.8.0/src/util/virarch.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/util/virarch.c
|
||||
+++ libvirt-6.7.0/src/util/virarch.c
|
||||
--- libvirt-6.8.0.orig/src/util/virarch.c
|
||||
+++ libvirt-6.8.0/src/util/virarch.c
|
||||
@@ -220,6 +220,8 @@ virArch virArchFromHost(void)
|
||||
arch = VIR_ARCH_I686;
|
||||
} else if (STREQ(ut.machine, "amd64")) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-6.7.0/src/security/apparmor/libvirt-qemu
|
||||
Index: libvirt-6.8.0/src/security/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.7.0/src/security/apparmor/libvirt-qemu
|
||||
--- libvirt-6.8.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.8.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -243,3 +243,6 @@
|
||||
# /sys/bus/nd/devices
|
||||
/ r, # harmless on any lsb compliant system
|
||||
|
@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule
|
||||
to squelch a denial when starting confined domains.
|
||||
|
||||
Found while investigating bsc#1058847
|
||||
Index: libvirt-6.7.0/src/security/apparmor/libvirt-qemu
|
||||
Index: libvirt-6.8.0/src/security/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.7.0/src/security/apparmor/libvirt-qemu
|
||||
--- libvirt-6.8.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.8.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -64,6 +64,7 @@
|
||||
#/dev/fb* rw,
|
||||
|
||||
@ -20,10 +20,10 @@ Index: libvirt-6.7.0/src/security/apparmor/libvirt-qemu
|
||||
@{HOME}/.pulse-cookie rwk,
|
||||
owner /root/.pulse-cookie rwk,
|
||||
owner /root/.pulse/ rw,
|
||||
Index: libvirt-6.7.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
Index: libvirt-6.8.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ libvirt-6.7.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
--- libvirt-6.8.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ libvirt-6.8.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
|
||||
# Used when internally running another command (namely apparmor_parser)
|
||||
@{PROC}/@{pid}/fd/ r,
|
||||
|
@ -9,11 +9,11 @@ need backporting to anything older. The dependency on xen.git commit
|
||||
c3999835df makes it hard to upstream this patch.
|
||||
|
||||
See bsc#1157490 and bsc#1167007 for more details
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
@@ -1825,7 +1825,7 @@ libxlDriverConfigNew(void)
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
@@ -1838,7 +1838,7 @@ libxlDriverConfigNew(void)
|
||||
int
|
||||
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
|
||||
{
|
||||
@ -22,10 +22,10 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
|
||||
if (virFileMakePath(cfg->logDir) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_domain.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_domain.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_domain.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_domain.c
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_domain.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_domain.c
|
||||
@@ -1020,8 +1020,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
|
||||
static int
|
||||
libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
|
||||
@ -46,10 +46,10 @@ Index: libvirt-6.7.0/src/libxl/libxl_domain.c
|
||||
&aop_console_how);
|
||||
libxl_domain_restore_params_dispose(¶ms);
|
||||
}
|
||||
Index: libvirt-6.7.0/tests/libxlmock.c
|
||||
Index: libvirt-6.8.0/tests/libxlmock.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tests/libxlmock.c
|
||||
+++ libvirt-6.7.0/tests/libxlmock.c
|
||||
--- libvirt-6.8.0.orig/tests/libxlmock.c
|
||||
+++ libvirt-6.8.0/tests/libxlmock.c
|
||||
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
|
||||
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
|
||||
int, 0,
|
||||
@ -59,11 +59,11 @@ Index: libvirt-6.7.0/tests/libxlmock.c
|
||||
|
||||
VIR_MOCK_STUB_RET_ARGS(xc_interface_close,
|
||||
int, 0,
|
||||
Index: libvirt-6.7.0/meson.build
|
||||
Index: libvirt-6.8.0/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/meson.build
|
||||
+++ libvirt-6.7.0/meson.build
|
||||
@@ -1645,7 +1645,7 @@ elif get_option('driver_interface').enab
|
||||
--- libvirt-6.8.0.orig/meson.build
|
||||
+++ libvirt-6.8.0/meson.build
|
||||
@@ -1625,7 +1625,7 @@ elif get_option('driver_interface').enab
|
||||
endif
|
||||
|
||||
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
|
||||
@ -72,7 +72,7 @@ Index: libvirt-6.7.0/meson.build
|
||||
libxl_dep = dependency('xenlight', version: '>=' + libxl_version, required: get_option('driver_libxl'))
|
||||
|
||||
if libxl_dep.found()
|
||||
@@ -1675,7 +1675,7 @@ if not get_option('driver_libxl').disabl
|
||||
@@ -1655,7 +1655,7 @@ if not get_option('driver_libxl').disabl
|
||||
endif
|
||||
|
||||
libxl_dep = declare_dependency(
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust libvirt-guests service to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.7.0/tools/libvirt-guests.sh.in
|
||||
Index: libvirt-6.8.0/tools/libvirt-guests.sh.in
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tools/libvirt-guests.sh.in
|
||||
+++ libvirt-6.7.0/tools/libvirt-guests.sh.in
|
||||
--- libvirt-6.8.0.orig/tools/libvirt-guests.sh.in
|
||||
+++ libvirt-6.8.0/tools/libvirt-guests.sh.in
|
||||
@@ -16,14 +16,13 @@
|
||||
# License along with this library. If not, see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
@ -163,10 +163,10 @@ Index: libvirt-6.7.0/tools/libvirt-guests.sh.in
|
||||
esac
|
||||
-exit $RETVAL
|
||||
+rc_exit
|
||||
Index: libvirt-6.7.0/tools/libvirt-guests.sysconf
|
||||
Index: libvirt-6.8.0/tools/libvirt-guests.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-6.7.0/tools/libvirt-guests.sysconf
|
||||
--- libvirt-6.8.0.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-6.8.0/tools/libvirt-guests.sysconf
|
||||
@@ -1,9 +1,14 @@
|
||||
+## Path: System/Virtualization/libvirt-guests
|
||||
# Customizations for the libvirt-guests.service systemd unit
|
||||
|
@ -3,10 +3,10 @@ Disable TLS by default
|
||||
On SUSE distros, the default is for libvirtd to listen only on the
|
||||
Unix Domain Socket. The libvirt client still provides remote access
|
||||
via a SSH tunnel.
|
||||
Index: libvirt-6.7.0/src/remote/remote_daemon_config.c
|
||||
Index: libvirt-6.8.0/src/remote/remote_daemon_config.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/remote/remote_daemon_config.c
|
||||
+++ libvirt-6.7.0/src/remote/remote_daemon_config.c
|
||||
--- libvirt-6.8.0.orig/src/remote/remote_daemon_config.c
|
||||
+++ libvirt-6.8.0/src/remote/remote_daemon_config.c
|
||||
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
|
||||
|
||||
#ifdef WITH_IP
|
||||
@ -16,10 +16,10 @@ Index: libvirt-6.7.0/src/remote/remote_daemon_config.c
|
||||
# else /* ! LIBVIRTD */
|
||||
data->listen_tls = false; /* Always honoured, --listen doesn't exist. */
|
||||
# endif /* ! LIBVIRTD */
|
||||
Index: libvirt-6.7.0/src/remote/libvirtd.conf.in
|
||||
Index: libvirt-6.8.0/src/remote/libvirtd.conf.in
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/remote/libvirtd.conf.in
|
||||
+++ libvirt-6.7.0/src/remote/libvirtd.conf.in
|
||||
--- libvirt-6.8.0.orig/src/remote/libvirtd.conf.in
|
||||
+++ libvirt-6.8.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.
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust libvirtd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.7.0/src/remote/libvirtd.sysconf
|
||||
Index: libvirt-6.8.0/src/remote/libvirtd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/remote/libvirtd.sysconf
|
||||
+++ libvirt-6.7.0/src/remote/libvirtd.sysconf
|
||||
--- libvirt-6.8.0.orig/src/remote/libvirtd.sysconf
|
||||
+++ libvirt-6.8.0/src/remote/libvirtd.sysconf
|
||||
@@ -1,5 +1,9 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
# 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
|
||||
libxl.conf. See jsc#SLE-3059 for more details.
|
||||
|
||||
Index: libvirt-6.7.0/src/libxl/libxl.conf
|
||||
Index: libvirt-6.8.0/src/libxl/libxl.conf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl.conf
|
||||
+++ libvirt-6.7.0/src/libxl/libxl.conf
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl.conf
|
||||
+++ libvirt-6.8.0/src/libxl/libxl.conf
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
# Enable autoballooning of domain0
|
||||
@ -27,11 +27,11 @@ Index: libvirt-6.7.0/src/libxl/libxl.conf
|
||||
|
||||
|
||||
# In order to prevent accidentally starting two domains that
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
@@ -1739,15 +1739,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
@@ -1752,15 +1752,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
/*
|
||||
* Get domain0 autoballoon configuration. Honor user-specified
|
||||
* setting in libxl.conf first. If not specified, autoballooning
|
||||
@ -48,7 +48,7 @@ Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
int res;
|
||||
|
||||
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
|
||||
@@ -1756,15 +1753,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
@@ -1769,15 +1766,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
else if (res == 1)
|
||||
return 0;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust paths of OVMF firmwares on SUSE distros
|
||||
|
||||
Index: libvirt-6.7.0/src/qemu/qemu.conf
|
||||
Index: libvirt-6.8.0/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.7.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.8.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.8.0/src/qemu/qemu.conf
|
||||
@@ -844,10 +844,9 @@
|
||||
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
||||
# follows this scheme.
|
||||
@ -18,10 +18,10 @@ Index: libvirt-6.7.0/src/qemu/qemu.conf
|
||||
#]
|
||||
|
||||
# The backend to use for handling stdout/stderr output from
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_conf.c
|
||||
Index: libvirt-6.8.0/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_conf.c
|
||||
--- libvirt-6.8.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.8.0/src/qemu/qemu_conf.c
|
||||
@@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
||||
|
||||
#ifndef DEFAULT_LOADER_NVRAM
|
||||
@ -36,10 +36,10 @@ Index: libvirt-6.7.0/src/qemu/qemu_conf.c
|
||||
#endif
|
||||
|
||||
|
||||
Index: libvirt-6.7.0/src/security/virt-aa-helper.c
|
||||
Index: libvirt-6.8.0/src/security/virt-aa-helper.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/security/virt-aa-helper.c
|
||||
+++ libvirt-6.7.0/src/security/virt-aa-helper.c
|
||||
--- libvirt-6.8.0.orig/src/security/virt-aa-helper.c
|
||||
+++ libvirt-6.8.0/src/security/virt-aa-helper.c
|
||||
@@ -479,7 +479,8 @@ valid_path(const char *path, const bool
|
||||
"/usr/share/ovmf/", /* for OVMF images */
|
||||
"/usr/share/AAVMF/", /* for AAVMF images */
|
||||
|
@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
|
||||
etc.), but for now they are all lumped together in this
|
||||
single patch.
|
||||
|
||||
Index: libvirt-6.7.0/src/qemu/qemu.conf
|
||||
Index: libvirt-6.8.0/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.7.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.8.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.8.0/src/qemu/qemu.conf
|
||||
@@ -477,10 +477,19 @@
|
||||
# isolation, but it cannot appear in a list of drivers.
|
||||
#
|
||||
@ -60,10 +60,10 @@ Index: libvirt-6.7.0/src/qemu/qemu.conf
|
||||
#
|
||||
#lock_manager = "lockd"
|
||||
|
||||
Index: libvirt-6.7.0/src/qemu/qemu_conf.c
|
||||
Index: libvirt-6.8.0/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.7.0/src/qemu/qemu_conf.c
|
||||
--- libvirt-6.8.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.8.0/src/qemu/qemu_conf.c
|
||||
@@ -267,7 +267,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
|
||||
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust virtlockd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.7.0/src/locking/virtlockd.sysconf
|
||||
Index: libvirt-6.8.0/src/locking/virtlockd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/locking/virtlockd.sysconf
|
||||
+++ libvirt-6.7.0/src/locking/virtlockd.sysconf
|
||||
--- libvirt-6.8.0.orig/src/locking/virtlockd.sysconf
|
||||
+++ libvirt-6.8.0/src/locking/virtlockd.sysconf
|
||||
@@ -1,3 +1,7 @@
|
||||
+## Path: System/Virtualization/virtlockd
|
||||
+
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust virtlogd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.7.0/src/logging/virtlogd.sysconf
|
||||
Index: libvirt-6.8.0/src/logging/virtlogd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/logging/virtlogd.sysconf
|
||||
+++ libvirt-6.7.0/src/logging/virtlogd.sysconf
|
||||
--- libvirt-6.8.0.orig/src/logging/virtlogd.sysconf
|
||||
+++ libvirt-6.8.0/src/logging/virtlogd.sysconf
|
||||
@@ -1,3 +1,7 @@
|
||||
+## Path: System/Virtualization/virtlogd
|
||||
+
|
||||
|
@ -5,11 +5,11 @@ upstream support for firmware autoselection in the xen driver. Sadly, the
|
||||
upstream efforts to improve firmware handling in the qemu driver broke
|
||||
the firmware handling in the xen driver.
|
||||
|
||||
Index: libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.7.0/src/libxl/libxl_conf.c
|
||||
@@ -1779,6 +1779,15 @@ libxlDriverConfigNew(void)
|
||||
--- libvirt-6.8.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.8.0/src/libxl/libxl_conf.c
|
||||
@@ -1792,6 +1792,15 @@ libxlDriverConfigNew(void)
|
||||
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
|
||||
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-6.7.0/tools/virt-create-rootfs
|
||||
Index: libvirt-6.8.0/tools/virt-create-rootfs
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.7.0/tools/virt-create-rootfs
|
||||
+++ libvirt-6.8.0/tools/virt-create-rootfs
|
||||
@@ -0,0 +1,231 @@
|
||||
+#!/bin/sh
|
||||
+set -e
|
||||
@ -234,10 +234,10 @@ Index: libvirt-6.7.0/tools/virt-create-rootfs
|
||||
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
||||
+ chroot "$ROOT" /usr/bin/passwd
|
||||
+fi
|
||||
Index: libvirt-6.7.0/docs/manpages/virt-create-rootfs.rst
|
||||
Index: libvirt-6.8.0/docs/manpages/virt-create-rootfs.rst
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.7.0/docs/manpages/virt-create-rootfs.rst
|
||||
+++ libvirt-6.8.0/docs/manpages/virt-create-rootfs.rst
|
||||
@@ -0,0 +1,88 @@
|
||||
+==================
|
||||
+virt-create-rootfs
|
||||
@ -327,10 +327,10 @@ Index: libvirt-6.7.0/docs/manpages/virt-create-rootfs.rst
|
||||
+========
|
||||
+
|
||||
+virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_
|
||||
Index: libvirt-6.7.0/docs/manpages/meson.build
|
||||
Index: libvirt-6.8.0/docs/manpages/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/docs/manpages/meson.build
|
||||
+++ libvirt-6.7.0/docs/manpages/meson.build
|
||||
--- libvirt-6.8.0.orig/docs/manpages/meson.build
|
||||
+++ libvirt-6.8.0/docs/manpages/meson.build
|
||||
@@ -15,6 +15,7 @@ docs_man_files = [
|
||||
{ 'name': 'virt-pki-validate', 'section': '1', 'install': true },
|
||||
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') },
|
||||
@ -339,10 +339,10 @@ Index: libvirt-6.7.0/docs/manpages/meson.build
|
||||
|
||||
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
|
||||
{ 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': conf.has('WITH_SANLOCK') },
|
||||
Index: libvirt-6.7.0/tools/meson.build
|
||||
Index: libvirt-6.8.0/tools/meson.build
|
||||
===================================================================
|
||||
--- libvirt-6.7.0.orig/tools/meson.build
|
||||
+++ libvirt-6.7.0/tools/meson.build
|
||||
--- libvirt-6.8.0.orig/tools/meson.build
|
||||
+++ libvirt-6.8.0/tools/meson.build
|
||||
@@ -149,6 +149,8 @@ else
|
||||
virsh_icon_res = []
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user