Accepting request 792818 from Virtualization
- libxl: Add support for max event channels with maxEventChannel attribute on the xenbus controller 8e669b38-conf-add-event-channels.patch, a93f55c5-libxl-add-event-channels.patch, 967f4eeb-xenconfig-event-channels.patch bsc#1168767 - 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 - CVE-2020-10701 bsc#1168680 - Dropped patches: a30078cb-qemu-create-mp-target.patch, aeb909bf-qemu-multipath-fix.patch - Added patch: disable-multipath-pr-tests.patch OBS-URL: https://build.opensuse.org/request/show/792818 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=303
This commit is contained in:
commit
c26ba24ce8
@ -18,10 +18,10 @@ them.
|
||||
create mode 100644 src/conf/domain_stats.c
|
||||
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
|
||||
+++ libvirt-6.1.0/src/conf/domain_stats.c
|
||||
+++ libvirt-6.2.0/src/conf/domain_stats.c
|
||||
@@ -0,0 +1,119 @@
|
||||
+/*
|
||||
+ * 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
|
||||
Index: libvirt-6.1.0/src/conf/domain_stats.h
|
||||
Index: libvirt-6.2.0/src/conf/domain_stats.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.1.0/src/conf/domain_stats.h
|
||||
+++ libvirt-6.2.0/src/conf/domain_stats.h
|
||||
@@ -0,0 +1,62 @@
|
||||
+/*
|
||||
+ * domain_stats.h: domain stats extraction helpers
|
||||
@ -209,10 +209,10 @@ Index: libvirt-6.1.0/src/conf/domain_stats.h
|
||||
+ virTypedParamListPtr params);
|
||||
+
|
||||
+#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.1.0/src/libvirt_private.syms
|
||||
--- libvirt-6.2.0.orig/src/libvirt_private.syms
|
||||
+++ libvirt-6.2.0/src/libvirt_private.syms
|
||||
@@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate;
|
||||
virDomainConfNWFilterTeardown;
|
||||
virDomainConfVMNWFilterTeardown;
|
||||
@ -223,7 +223,7 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
|
||||
|
||||
# conf/interface_conf.h
|
||||
virInterfaceDefFormat;
|
||||
@@ -1752,6 +1755,7 @@ virCgroupGetMemoryUsage;
|
||||
@@ -1751,6 +1754,7 @@ virCgroupGetMemoryUsage;
|
||||
virCgroupGetMemSwapHardLimit;
|
||||
virCgroupGetMemSwapUsage;
|
||||
virCgroupGetPercpuStats;
|
||||
@ -231,10 +231,10 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
|
||||
virCgroupHasController;
|
||||
virCgroupHasEmptyTasks;
|
||||
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.1.0/src/qemu/qemu_driver.c
|
||||
--- libvirt-6.2.0.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-6.2.0/src/qemu/qemu_driver.c
|
||||
@@ -64,6 +64,7 @@
|
||||
#include "virarptable.h"
|
||||
#include "viruuid.h"
|
||||
@ -243,7 +243,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
||||
#include "domain_audit.h"
|
||||
#include "domain_cgroup.h"
|
||||
#include "domain_driver.h"
|
||||
@@ -20458,13 +20459,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
@@ -20642,13 +20643,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
virTypedParamListPtr params,
|
||||
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)
|
||||
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;
|
||||
}
|
||||
|
||||
@ -355,10 +355,10 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
||||
|
||||
/* refresh information by opening images on the disk */
|
||||
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.1.0/src/util/vircgroup.c
|
||||
--- libvirt-6.2.0.orig/src/util/vircgroup.c
|
||||
+++ libvirt-6.2.0/src/util/vircgroup.c
|
||||
@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control
|
||||
return ret;
|
||||
}
|
||||
@ -406,10 +406,10 @@ Index: libvirt-6.1.0/src/util/vircgroup.c
|
||||
int
|
||||
virCgroupNewPartition(const char *path 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.1.0/src/util/vircgroup.h
|
||||
--- libvirt-6.2.0.orig/src/util/vircgroup.h
|
||||
+++ libvirt-6.2.0/src/util/vircgroup.h
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "virbitmap.h"
|
||||
@ -425,10 +425,10 @@ Index: libvirt-6.1.0/src/util/vircgroup.h
|
||||
+
|
||||
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
||||
+ 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.1.0/src/conf/Makefile.inc.am
|
||||
--- libvirt-6.2.0.orig/src/conf/Makefile.inc.am
|
||||
+++ libvirt-6.2.0/src/conf/Makefile.inc.am
|
||||
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
|
||||
conf/domain_audit.h \
|
||||
conf/domain_nwfilter.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.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.1.0/src/libxl/libxl_driver.c
|
||||
@@ -5288,6 +5288,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||
@@ -5287,6 +5287,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
|
||||
#undef LIBXL_SET_MEMSTAT
|
||||
|
||||
@ -120,7 +120,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
static int
|
||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||
virDomainJobInfoPtr info)
|
||||
@@ -6706,6 +6796,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6756,6 +6846,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.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.1.0/src/lxc/lxc_driver.c
|
||||
--- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||
@@ -74,6 +74,7 @@
|
||||
#include "netdev_bandwidth_conf.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);
|
||||
|
120
8e669b38-conf-add-event-channels.patch
Normal file
120
8e669b38-conf-add-event-channels.patch
Normal file
@ -0,0 +1,120 @@
|
||||
commit 8e669b382c3533793356261c6d748df56162a2c6
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Tue Apr 7 16:37:09 2020 -0600
|
||||
|
||||
conf: Add a new xenbus controller option for event channels
|
||||
|
||||
Event channels are like PV interrupts and in conjuction with grant frames
|
||||
form a data transfer mechanism for PV drivers. They are also used for
|
||||
inter-processor interrupts. Guests with a large number of vcpus and/or
|
||||
many PV devices many need to increase the maximum default value of 1023.
|
||||
For this reason the native Xen config format supports the
|
||||
'max_event_channels' setting. See xl.cfg(5) man page for more details.
|
||||
|
||||
Similar to the existing maxGrantFrames option, add a new xenbus controller
|
||||
option 'maxEventChannels', allowing to adjust the maximum value via libvirt.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
|
||||
Index: libvirt-6.2.0/docs/formatdomain.html.in
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/docs/formatdomain.html.in
|
||||
+++ libvirt-6.2.0/docs/formatdomain.html.in
|
||||
@@ -4416,7 +4416,7 @@
|
||||
<driver iothread='4'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
|
||||
</controller>
|
||||
- <controller type='xenbus' maxGrantFrames='64'/>
|
||||
+ <controller type='xenbus' maxGrantFrames='64' maxEventChannels='2047'/>
|
||||
...
|
||||
</devices>
|
||||
...</pre>
|
||||
@@ -4476,7 +4476,11 @@
|
||||
<dd><span class="since">Since 5.2.0</span>, the <code>xenbus</code>
|
||||
controller has an optional attribute <code>maxGrantFrames</code>,
|
||||
which specifies the maximum number of grant frames the controller
|
||||
- makes available for connected devices.</dd>
|
||||
+ makes available for connected devices.
|
||||
+ <span class="since">Since 6.3.0</span>, the xenbus controller
|
||||
+ supports the optional <code>maxEventChannels</code> attribute,
|
||||
+ which specifies maximum number of event channels (PV interrupts)
|
||||
+ that can be used by the guest.</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Index: libvirt-6.2.0/docs/schemas/domaincommon.rng
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/docs/schemas/domaincommon.rng
|
||||
+++ libvirt-6.2.0/docs/schemas/domaincommon.rng
|
||||
@@ -2548,6 +2548,11 @@
|
||||
<ref name="unsignedInt"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
+ <optional>
|
||||
+ <attribute name="maxEventChannels">
|
||||
+ <ref name="unsignedInt"/>
|
||||
+ </attribute>
|
||||
+ </optional>
|
||||
</group>
|
||||
</choice>
|
||||
<optional>
|
||||
Index: libvirt-6.2.0/src/conf/domain_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/src/conf/domain_conf.c
|
||||
+++ libvirt-6.2.0/src/conf/domain_conf.c
|
||||
@@ -2245,6 +2245,7 @@ virDomainControllerDefNew(virDomainContr
|
||||
break;
|
||||
case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS:
|
||||
def->opts.xenbusopts.maxGrantFrames = -1;
|
||||
+ def->opts.xenbusopts.maxEventChannels = -1;
|
||||
break;
|
||||
case VIR_DOMAIN_CONTROLLER_TYPE_IDE:
|
||||
case VIR_DOMAIN_CONTROLLER_TYPE_FDC:
|
||||
@@ -11337,6 +11338,7 @@ virDomainControllerDefParseXML(virDomain
|
||||
break;
|
||||
case VIR_DOMAIN_CONTROLLER_TYPE_XENBUS: {
|
||||
g_autofree char *gntframes = virXMLPropString(node, "maxGrantFrames");
|
||||
+ g_autofree char *eventchannels = virXMLPropString(node, "maxEventChannels");
|
||||
|
||||
if (gntframes) {
|
||||
int r = virStrToLong_i(gntframes, NULL, 10,
|
||||
@@ -11347,6 +11349,15 @@ virDomainControllerDefParseXML(virDomain
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
+ if (eventchannels) {
|
||||
+ int r = virStrToLong_i(eventchannels, NULL, 10,
|
||||
+ &def->opts.xenbusopts.maxEventChannels);
|
||||
+ if (r != 0 || def->opts.xenbusopts.maxEventChannels < 0) {
|
||||
+ virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
+ _("Invalid maxEventChannels: %s"), eventchannels);
|
||||
+ goto error;
|
||||
+ }
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -25267,6 +25278,10 @@ virDomainControllerDefFormat(virBufferPt
|
||||
virBufferAsprintf(&attrBuf, " maxGrantFrames='%d'",
|
||||
def->opts.xenbusopts.maxGrantFrames);
|
||||
}
|
||||
+ if (def->opts.xenbusopts.maxEventChannels != -1) {
|
||||
+ virBufferAsprintf(&attrBuf, " maxEventChannels='%d'",
|
||||
+ def->opts.xenbusopts.maxEventChannels);
|
||||
+ }
|
||||
break;
|
||||
|
||||
default:
|
||||
Index: libvirt-6.2.0/src/conf/domain_conf.h
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/src/conf/domain_conf.h
|
||||
+++ libvirt-6.2.0/src/conf/domain_conf.h
|
||||
@@ -730,6 +730,7 @@ struct _virDomainUSBControllerOpts {
|
||||
|
||||
struct _virDomainXenbusControllerOpts {
|
||||
int maxGrantFrames; /* -1 == undef */
|
||||
+ int maxEventChannels; /* -1 == undef */
|
||||
};
|
||||
|
||||
/* Stores the virtual disk controller configuration */
|
210
967f4eeb-xenconfig-event-channels.patch
Normal file
210
967f4eeb-xenconfig-event-channels.patch
Normal file
@ -0,0 +1,210 @@
|
||||
commit 967f4eebdcfed014fb8ad4569e9a04cdc731e9a6
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Tue Apr 7 17:33:26 2020 -0600
|
||||
|
||||
xenconfig: Add support for max_event_channels
|
||||
|
||||
Add support in the domXML<->native config converter for max_event_channels.
|
||||
The parser and formater functions for max_grant_frames were reworked to
|
||||
also parse max_event_channels. In doing so the xenbus controller is added
|
||||
earlier in the config parsing, requiring a small adjustment to one of the
|
||||
existing tests. Include a new test for the event channel conversion.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
|
||||
Index: libvirt-6.2.0/src/libxl/xen_xl.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/src/libxl/xen_xl.c
|
||||
+++ libvirt-6.2.0/src/libxl/xen_xl.c
|
||||
@@ -597,19 +597,12 @@ xenParseXLVnuma(virConfPtr conf,
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
static int
|
||||
-xenParseXLGntLimits(virConfPtr conf, virDomainDefPtr def)
|
||||
+xenParseXLXenbusLimits(virConfPtr conf, virDomainDefPtr def)
|
||||
{
|
||||
- unsigned long max_gntframes;
|
||||
int ctlr_idx;
|
||||
virDomainControllerDefPtr xenbus_ctlr;
|
||||
-
|
||||
- if (xenConfigGetULong(conf, "max_grant_frames", &max_gntframes, 0) < 0)
|
||||
- return -1;
|
||||
-
|
||||
- if (max_gntframes <= 0)
|
||||
- return 0;
|
||||
+ unsigned long limit;
|
||||
|
||||
ctlr_idx = virDomainControllerFindByType(def, VIR_DOMAIN_CONTROLLER_TYPE_XENBUS);
|
||||
if (ctlr_idx == -1)
|
||||
@@ -620,10 +613,20 @@ xenParseXLGntLimits(virConfPtr conf, vir
|
||||
if (xenbus_ctlr == NULL)
|
||||
return -1;
|
||||
|
||||
- xenbus_ctlr->opts.xenbusopts.maxGrantFrames = max_gntframes;
|
||||
+ if (xenConfigGetULong(conf, "max_event_channels", &limit, 0) < 0)
|
||||
+ return -1;
|
||||
+ if (limit > 0)
|
||||
+ xenbus_ctlr->opts.xenbusopts.maxEventChannels = limit;
|
||||
+
|
||||
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
+ if (xenConfigGetULong(conf, "max_grant_frames", &limit, 0) < 0)
|
||||
+ return -1;
|
||||
+ if (limit > 0)
|
||||
+ xenbus_ctlr->opts.xenbusopts.maxGrantFrames = limit;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
-#endif
|
||||
|
||||
static int
|
||||
xenParseXLDiskSrc(virDomainDiskDefPtr disk, char *srcstr)
|
||||
@@ -1180,10 +1183,8 @@ xenParseXL(virConfPtr conf,
|
||||
goto cleanup;
|
||||
#endif
|
||||
|
||||
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
- if (xenParseXLGntLimits(conf, def) < 0)
|
||||
+ if (xenParseXLXenbusLimits(conf, def) < 0)
|
||||
goto cleanup;
|
||||
-#endif
|
||||
|
||||
if (xenParseXLCPUID(conf, def) < 0)
|
||||
goto cleanup;
|
||||
@@ -1532,23 +1533,31 @@ xenFormatXLDomainVnuma(virConfPtr conf,
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
static int
|
||||
-xenFormatXLGntLimits(virConfPtr conf, virDomainDefPtr def)
|
||||
+xenFormatXLXenbusLimits(virConfPtr conf, virDomainDefPtr def)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < def->ncontrollers; i++) {
|
||||
- if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS &&
|
||||
- def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) {
|
||||
- if (xenConfigSetInt(conf, "max_grant_frames",
|
||||
- def->controllers[i]->opts.xenbusopts.maxGrantFrames) < 0)
|
||||
- return -1;
|
||||
+ if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS) {
|
||||
+ if (def->controllers[i]->opts.xenbusopts.maxEventChannels > 0) {
|
||||
+ if (xenConfigSetInt(conf, "max_event_channels",
|
||||
+ def->controllers[i]->opts.xenbusopts.maxEventChannels) < 0)
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
+ if (def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0) {
|
||||
+ if (xenConfigSetInt(conf, "max_grant_frames",
|
||||
+ def->controllers[i]->opts.xenbusopts.maxGrantFrames) < 0)
|
||||
+ return -1;
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
-#endif
|
||||
|
||||
static char *
|
||||
xenFormatXLDiskSrcNet(virStorageSourcePtr src)
|
||||
@@ -2191,10 +2200,8 @@ xenFormatXL(virDomainDefPtr def, virConn
|
||||
return NULL;
|
||||
#endif
|
||||
|
||||
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
- if (xenFormatXLGntLimits(conf, def) < 0)
|
||||
+ if (xenFormatXLXenbusLimits(conf, def) < 0)
|
||||
return NULL;
|
||||
-#endif
|
||||
|
||||
if (xenFormatXLDomainDisks(conf, def) < 0)
|
||||
return NULL;
|
||||
Index: libvirt-6.2.0/tests/xlconfigdata/test-max-eventchannels.cfg
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.2.0/tests/xlconfigdata/test-max-eventchannels.cfg
|
||||
@@ -0,0 +1,13 @@
|
||||
+name = "XenGuest1"
|
||||
+uuid = "45b60f51-88a9-47a8-a3b3-5e66d71b2283"
|
||||
+maxmem = 512
|
||||
+memory = 512
|
||||
+vcpus = 1
|
||||
+localtime = 0
|
||||
+on_poweroff = "preserve"
|
||||
+on_reboot = "restart"
|
||||
+on_crash = "preserve"
|
||||
+vif = [ "mac=5a:36:0e:be:00:09" ]
|
||||
+bootloader = "/usr/bin/pygrub"
|
||||
+max_event_channels = 2047
|
||||
+disk = [ "format=qcow2,vdev=xvda,access=rw,backendtype=qdisk,target=/var/lib/xen/images/debian/disk.qcow2" ]
|
||||
Index: libvirt-6.2.0/tests/xlconfigdata/test-max-eventchannels.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.2.0/tests/xlconfigdata/test-max-eventchannels.xml
|
||||
@@ -0,0 +1,32 @@
|
||||
+<domain type='xen'>
|
||||
+ <name>XenGuest1</name>
|
||||
+ <uuid>45b60f51-88a9-47a8-a3b3-5e66d71b2283</uuid>
|
||||
+ <memory unit='KiB'>524288</memory>
|
||||
+ <currentMemory unit='KiB'>524288</currentMemory>
|
||||
+ <vcpu placement='static'>1</vcpu>
|
||||
+ <bootloader>/usr/bin/pygrub</bootloader>
|
||||
+ <os>
|
||||
+ <type arch='x86_64' machine='xenpv'>linux</type>
|
||||
+ </os>
|
||||
+ <clock offset='utc' adjustment='reset'/>
|
||||
+ <on_poweroff>preserve</on_poweroff>
|
||||
+ <on_reboot>restart</on_reboot>
|
||||
+ <on_crash>preserve</on_crash>
|
||||
+ <devices>
|
||||
+ <disk type='file' device='disk'>
|
||||
+ <driver name='qemu' type='qcow2'/>
|
||||
+ <source file='/var/lib/xen/images/debian/disk.qcow2'/>
|
||||
+ <target dev='xvda' bus='xen'/>
|
||||
+ </disk>
|
||||
+ <controller type='xenbus' index='0' maxEventChannels='2047'/>
|
||||
+ <interface type='ethernet'>
|
||||
+ <mac address='5a:36:0e:be:00:09'/>
|
||||
+ </interface>
|
||||
+ <console type='pty'>
|
||||
+ <target type='xen' port='0'/>
|
||||
+ </console>
|
||||
+ <input type='mouse' bus='xen'/>
|
||||
+ <input type='keyboard' bus='xen'/>
|
||||
+ <memballoon model='xen'/>
|
||||
+ </devices>
|
||||
+</domain>
|
||||
Index: libvirt-6.2.0/tests/xlconfigdata/test-usbctrl.xml
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/tests/xlconfigdata/test-usbctrl.xml
|
||||
+++ libvirt-6.2.0/tests/xlconfigdata/test-usbctrl.xml
|
||||
@@ -18,8 +18,8 @@
|
||||
<source file='/var/lib/xen/images/debian/disk.qcow2'/>
|
||||
<target dev='xvda' bus='xen'/>
|
||||
</disk>
|
||||
- <controller type='usb' index='0' model='qusb2' ports='6'/>
|
||||
<controller type='xenbus' index='0'/>
|
||||
+ <controller type='usb' index='0' model='qusb2' ports='6'/>
|
||||
<interface type='ethernet'>
|
||||
<mac address='5a:36:0e:be:00:09'/>
|
||||
</interface>
|
||||
Index: libvirt-6.2.0/tests/xlconfigtest.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/tests/xlconfigtest.c
|
||||
+++ libvirt-6.2.0/tests/xlconfigtest.c
|
||||
@@ -294,6 +294,8 @@ mymain(void)
|
||||
DO_TEST("max-gntframes");
|
||||
#endif
|
||||
|
||||
+ DO_TEST("max-eventchannels");
|
||||
+
|
||||
DO_TEST("vif-typename");
|
||||
DO_TEST("vif-multi-ip");
|
||||
DO_TEST("usb");
|
@ -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>
|
190
a93f55c5-libxl-add-event-channels.patch
Normal file
190
a93f55c5-libxl-add-event-channels.patch
Normal file
@ -0,0 +1,190 @@
|
||||
commit a93f55c53d83ec63fe703db38cb519465b1d2445
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Tue Apr 7 17:15:04 2020 -0600
|
||||
|
||||
libxl: Add support for max_event_channels
|
||||
|
||||
Add support for setting event_channels in libxl domain config object and
|
||||
include a test to check that it is properly converted from XML to libxl
|
||||
domain config.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
|
||||
Index: libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -380,13 +380,17 @@ libxlMakeDomBuildInfo(virDomainDefPtr de
|
||||
b_info->max_memkb = virDomainDefGetMemoryInitial(def);
|
||||
b_info->target_memkb = def->mem.cur_balloon;
|
||||
|
||||
-#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
for (i = 0; i < def->ncontrollers; i++) {
|
||||
- if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS &&
|
||||
- def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0)
|
||||
- b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames;
|
||||
- }
|
||||
+ if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_XENBUS) {
|
||||
+ if (def->controllers[i]->opts.xenbusopts.maxEventChannels > 0)
|
||||
+ b_info->event_channels = def->controllers[i]->opts.xenbusopts.maxEventChannels;
|
||||
+
|
||||
+#ifdef LIBXL_HAVE_BUILDINFO_GRANT_LIMITS
|
||||
+ if (def->controllers[i]->opts.xenbusopts.maxGrantFrames > 0)
|
||||
+ b_info->max_grant_frames = def->controllers[i]->opts.xenbusopts.maxGrantFrames;
|
||||
#endif
|
||||
+ }
|
||||
+ }
|
||||
|
||||
if (hvm || pvh) {
|
||||
if (caps &&
|
||||
Index: libvirt-6.2.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.2.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.json
|
||||
@@ -0,0 +1,90 @@
|
||||
+{
|
||||
+ "c_info": {
|
||||
+ "type": "hvm",
|
||||
+ "name": "test-hvm",
|
||||
+ "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b"
|
||||
+ },
|
||||
+ "b_info": {
|
||||
+ "max_vcpus": 4,
|
||||
+ "avail_vcpus": [
|
||||
+ 0,
|
||||
+ 1,
|
||||
+ 2,
|
||||
+ 3
|
||||
+ ],
|
||||
+ "max_memkb": 1048576,
|
||||
+ "target_memkb": 1048576,
|
||||
+ "video_memkb": 8192,
|
||||
+ "shadow_memkb": 12288,
|
||||
+ "event_channels": 2047,
|
||||
+ "device_model_version": "qemu_xen",
|
||||
+ "device_model": "/bin/true",
|
||||
+ "sched_params": {
|
||||
+
|
||||
+ },
|
||||
+ "type.hvm": {
|
||||
+ "pae": "True",
|
||||
+ "apic": "True",
|
||||
+ "acpi": "True",
|
||||
+ "vga": {
|
||||
+ "kind": "cirrus"
|
||||
+ },
|
||||
+ "vnc": {
|
||||
+ "enable": "True",
|
||||
+ "listen": "0.0.0.0",
|
||||
+ "findunused": "False"
|
||||
+ },
|
||||
+ "sdl": {
|
||||
+ "enable": "False"
|
||||
+ },
|
||||
+ "spice": {
|
||||
+
|
||||
+ },
|
||||
+ "boot": "c",
|
||||
+ "rdm": {
|
||||
+
|
||||
+ }
|
||||
+ },
|
||||
+ "arch_arm": {
|
||||
+
|
||||
+ }
|
||||
+ },
|
||||
+ "disks": [
|
||||
+ {
|
||||
+ "pdev_path": "/var/lib/xen/images/test-hvm.img",
|
||||
+ "vdev": "hda",
|
||||
+ "backend": "qdisk",
|
||||
+ "format": "raw",
|
||||
+ "removable": 1,
|
||||
+ "readwrite": 1
|
||||
+ }
|
||||
+ ],
|
||||
+ "nics": [
|
||||
+ {
|
||||
+ "devid": 0,
|
||||
+ "mac": "00:16:3e:66:12:b4",
|
||||
+ "bridge": "br0",
|
||||
+ "script": "/etc/xen/scripts/vif-bridge",
|
||||
+ "nictype": "vif_ioemu"
|
||||
+ }
|
||||
+ ],
|
||||
+ "vfbs": [
|
||||
+ {
|
||||
+ "devid": -1,
|
||||
+ "vnc": {
|
||||
+ "enable": "True",
|
||||
+ "listen": "0.0.0.0",
|
||||
+ "findunused": "False"
|
||||
+ },
|
||||
+ "sdl": {
|
||||
+ "enable": "False"
|
||||
+ }
|
||||
+ }
|
||||
+ ],
|
||||
+ "vkbs": [
|
||||
+ {
|
||||
+ "devid": -1
|
||||
+ }
|
||||
+ ],
|
||||
+ "on_reboot": "restart"
|
||||
+}
|
||||
Index: libvirt-6.2.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.xml
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.2.0/tests/libxlxml2domconfigdata/max-eventchannels-hvm.xml
|
||||
@@ -0,0 +1,37 @@
|
||||
+<domain type='xen'>
|
||||
+ <name>test-hvm</name>
|
||||
+ <description>None</description>
|
||||
+ <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid>
|
||||
+ <memory>1048576</memory>
|
||||
+ <currentMemory>1048576</currentMemory>
|
||||
+ <vcpu>4</vcpu>
|
||||
+ <on_poweroff>destroy</on_poweroff>
|
||||
+ <on_reboot>restart</on_reboot>
|
||||
+ <on_crash>destroy</on_crash>
|
||||
+ <clock offset='utc'/>
|
||||
+ <os>
|
||||
+ <type>hvm</type>
|
||||
+ <loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
+ <boot dev='hd'/>
|
||||
+ </os>
|
||||
+ <features>
|
||||
+ <apic/>
|
||||
+ <acpi/>
|
||||
+ <pae/>
|
||||
+ </features>
|
||||
+ <devices>
|
||||
+ <emulator>/bin/true</emulator>
|
||||
+ <disk type='file' device='disk'>
|
||||
+ <driver name='qemu'/>
|
||||
+ <source file='/var/lib/xen/images/test-hvm.img'/>
|
||||
+ <target dev='hda'/>
|
||||
+ </disk>
|
||||
+ <controller type='xenbus' maxEventChannels='2047'/>
|
||||
+ <interface type='bridge'>
|
||||
+ <source bridge='br0'/>
|
||||
+ <mac address='00:16:3e:66:12:b4'/>
|
||||
+ <script path='/etc/xen/scripts/vif-bridge'/>
|
||||
+ </interface>
|
||||
+ <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
|
||||
+ </devices>
|
||||
+</domain>
|
||||
Index: libvirt-6.2.0/tests/libxlxml2domconfigtest.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/tests/libxlxml2domconfigtest.c
|
||||
+++ libvirt-6.2.0/tests/libxlxml2domconfigtest.c
|
||||
@@ -202,6 +202,8 @@ mymain(void)
|
||||
DO_TEST("max-gntframes-hvm");
|
||||
# endif
|
||||
|
||||
+ DO_TEST("max-eventchannels-hvm");
|
||||
+
|
||||
unlink("libxl-driver.log");
|
||||
|
||||
testXLFreeDriver(driver);
|
@ -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;
|
||||
}
|
||||
|
36
disable-multipath-pr-tests.patch
Normal file
36
disable-multipath-pr-tests.patch
Normal file
@ -0,0 +1,36 @@
|
||||
tests: temporarily disable the new multipath PR tests
|
||||
|
||||
The new multipath PR tests are failing in a build root env.
|
||||
Disable them for now until discussing a solution with upstream.
|
||||
|
||||
Index: libvirt-6.2.0/tests/qemuhotplugtest.c
|
||||
===================================================================
|
||||
--- libvirt-6.2.0.orig/tests/qemuhotplugtest.c
|
||||
+++ libvirt-6.2.0/tests/qemuhotplugtest.c
|
||||
@@ -87,8 +87,6 @@ qemuHotplugCreateObjects(virDomainXMLOpt
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VNC);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE);
|
||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE_FILE_XFER_DISABLE);
|
||||
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER);
|
||||
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_BLOCK);
|
||||
|
||||
if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0)
|
||||
return -1;
|
||||
@@ -757,17 +755,6 @@ mymain(void)
|
||||
"device_del", QMP_DEVICE_DELETED("scsi3-0-5-6") QMP_OK,
|
||||
"human-monitor-command", HMP(""));
|
||||
|
||||
- DO_TEST_ATTACH("base-live", "disk-scsi-multipath", false, true,
|
||||
- "object-add", QMP_OK,
|
||||
- "human-monitor-command", HMP("OK\\r\\n"),
|
||||
- "device_add", QMP_OK);
|
||||
- DO_TEST_DETACH("base-live", "disk-scsi-multipath", true, true,
|
||||
- "device_del", QMP_OK,
|
||||
- "human-monitor-command", HMP(""));
|
||||
- DO_TEST_DETACH("base-live", "disk-scsi-multipath", false, false,
|
||||
- "device_del", QMP_DEVICE_DELETED("scsi0-0-0-0") QMP_OK,
|
||||
- "human-monitor-command", HMP(""));
|
||||
-
|
||||
DO_TEST_ATTACH("base-live", "qemu-agent", false, true,
|
||||
"chardev-add", QMP_OK,
|
||||
"device_add", QMP_OK);
|
@ -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>
|
||||
|
||||
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.1.0/src/cpu_map/ppc64_POWER8.xml
|
||||
--- libvirt-6.2.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||
+++ libvirt-6.2.0/src/cpu_map/ppc64_POWER8.xml
|
||||
@@ -4,5 +4,7 @@
|
||||
<pvr value='0x004b0000' 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.1.0/configure.ac
|
||||
--- libvirt-6.2.0.orig/configure.ac
|
||||
+++ libvirt-6.2.0/configure.ac
|
||||
@@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH
|
||||
LIBVIRT_ARG_LIBXML
|
||||
LIBVIRT_ARG_MACVTAP
|
||||
@ -26,10 +26,10 @@ Index: libvirt-6.1.0/configure.ac
|
||||
LIBVIRT_RESULT_NLS
|
||||
LIBVIRT_RESULT_NSS
|
||||
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.1.0/tools/virsh.c
|
||||
--- libvirt-6.2.0.orig/tools/virsh.c
|
||||
+++ libvirt-6.2.0/tools/virsh.c
|
||||
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||
vshPrint(ctl, " Interface");
|
||||
# if defined(WITH_NETCF)
|
||||
@ -39,10 +39,10 @@ Index: libvirt-6.1.0/tools/virsh.c
|
||||
# elif defined(WITH_UDEV)
|
||||
vshPrint(ctl, " udev");
|
||||
# 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.1.0/src/interface/interface_backend_netcf.c
|
||||
--- libvirt-6.2.0.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-6.2.0/src/interface/interface_backend_netcf.c
|
||||
@@ -21,7 +21,12 @@
|
||||
|
||||
#include <config.h>
|
||||
@ -154,10 +154,10 @@ Index: libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
||||
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
||||
return -1;
|
||||
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.1.0/src/interface/interface_driver.c
|
||||
--- libvirt-6.2.0.orig/src/interface/interface_driver.c
|
||||
+++ libvirt-6.2.0/src/interface/interface_driver.c
|
||||
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
||||
if (netcfIfaceRegister() == 0)
|
||||
return 0;
|
||||
@ -175,10 +175,10 @@ Index: libvirt-6.1.0/src/interface/interface_driver.c
|
||||
if (udevIfaceRegister() == 0)
|
||||
return 0;
|
||||
#endif /* WITH_UDEV */
|
||||
Index: libvirt-6.1.0/m4/virt-netcontrol.m4
|
||||
Index: libvirt-6.2.0/m4/virt-netcontrol.m4
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.1.0/m4/virt-netcontrol.m4
|
||||
+++ libvirt-6.2.0/m4/virt-netcontrol.m4
|
||||
@@ -0,0 +1,39 @@
|
||||
+dnl The libnetcontrol library
|
||||
+dnl
|
||||
@ -219,10 +219,10 @@ Index: libvirt-6.1.0/m4/virt-netcontrol.m4
|
||||
+AC_DEFUN([LIBVIRT_RESULT_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.1.0/src/interface/Makefile.inc.am
|
||||
--- libvirt-6.2.0.orig/src/interface/Makefile.inc.am
|
||||
+++ libvirt-6.2.0/src/interface/Makefile.inc.am
|
||||
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
|
||||
$(NULL)
|
||||
|
||||
|
@ -1,3 +1,33 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 9 22:04:57 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
- libxl: Add support for max event channels with maxEventChannel
|
||||
attribute on the xenbus controller
|
||||
8e669b38-conf-add-event-channels.patch,
|
||||
a93f55c5-libxl-add-event-channels.patch,
|
||||
967f4eeb-xenconfig-event-channels.patch
|
||||
bsc#1168767
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
- CVE-2020-10701
|
||||
bsc#1168680
|
||||
- Dropped patches:
|
||||
a30078cb-qemu-create-mp-target.patch,
|
||||
aeb909bf-qemu-multipath-fix.patch
|
||||
- Added patch:
|
||||
disable-multipath-pr-tests.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
|
15
libvirt.spec
15
libvirt.spec
@ -185,7 +185,7 @@
|
||||
|
||||
Name: libvirt
|
||||
URL: http://libvirt.org/
|
||||
Version: 6.1.0
|
||||
Version: 6.2.0
|
||||
Release: 0
|
||||
Summary: Library providing a virtualization API
|
||||
License: LGPL-2.1-or-later
|
||||
@ -338,8 +338,10 @@ Source6: libvirtd-relocation-server.xml
|
||||
Source99: baselibs.conf
|
||||
Source100: %{name}-rpmlintrc
|
||||
# Upstream patches
|
||||
Patch0: a30078cb-qemu-create-mp-target.patch
|
||||
Patch1: aeb909bf-qemu-multipath-fix.patch
|
||||
Patch0: 88011ed2-libxl-driver-crash-fix.patch
|
||||
Patch1: 8e669b38-conf-add-event-channels.patch
|
||||
Patch2: a93f55c5-libxl-add-event-channels.patch
|
||||
Patch3: 967f4eeb-xenconfig-event-channels.patch
|
||||
# Patches pending upstream review
|
||||
Patch100: libxl-dom-reset.patch
|
||||
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
||||
@ -368,6 +370,7 @@ Patch212: lxc-wait-after-eth-del.patch
|
||||
Patch213: suse-libxl-disable-autoballoon.patch
|
||||
Patch214: suse-xen-ovmf-loaders.patch
|
||||
Patch215: suse-bump-xen-version.patch
|
||||
Patch216: disable-multipath-pr-tests.patch
|
||||
# SLES-Only patches
|
||||
%if ! 0%{?is_opensuse}
|
||||
Patch400: virt-create-rootfs.patch
|
||||
@ -876,6 +879,8 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch150 -p1
|
||||
@ -901,6 +906,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
%patch213 -p1
|
||||
%patch214 -p1
|
||||
%patch215 -p1
|
||||
%patch216 -p1
|
||||
%if ! 0%{?is_opensuse}
|
||||
%patch400 -p1
|
||||
%endif
|
||||
@ -1226,9 +1232,6 @@ mv %{buildroot}/%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
|
||||
%check
|
||||
cd tests
|
||||
SKIP_TESTS=""
|
||||
# These tests don't current work in a mock build root
|
||||
# virnetsockettest: needs unsupported linux-user syscalls
|
||||
SKIP_TESTS="$SKIP_TESTS virnetsockettest"
|
||||
# virportallocatortest fails on aarch64 due to unsupported IPV6_V6ONLY flag
|
||||
%ifarch aarch64
|
||||
SKIP_TESTS="$SKIP_TESTS virportallocatortest"
|
||||
|
@ -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.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.1.0/src/libxl/libxl_driver.c
|
||||
@@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||
@@ -1371,6 +1371,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
}
|
||||
|
||||
static int
|
||||
@ -74,7 +74,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||
unsigned int flags)
|
||||
{
|
||||
@@ -6581,6 +6636,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6631,6 +6686,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.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.1.0/src/libxl/libxl_conf.c
|
||||
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -870,6 +870,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
static char *
|
||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||
const char *username,
|
||||
@@ -1107,6 +1131,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1111,6 +1135,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,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
tools/virsh.pod | 8 ++++++++
|
||||
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.1.0/include/libvirt/libvirt-domain.h
|
||||
--- libvirt-6.2.0.orig/include/libvirt/libvirt-domain.h
|
||||
+++ libvirt-6.2.0/include/libvirt/libvirt-domain.h
|
||||
@@ -1065,6 +1065,31 @@ typedef enum {
|
||||
*/
|
||||
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
|
||||
@ -52,11 +52,11 @@ Index: libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
||||
/* Domain migration. */
|
||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||
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.1.0/src/libxl/libxl_driver.c
|
||||
@@ -6146,6 +6146,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
|
||||
@@ -6196,6 +6196,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
const char *dname = NULL;
|
||||
const char *uri = NULL;
|
||||
int ret = -1;
|
||||
@ -66,7 +66,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
|
||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||
virReportUnsupportedError();
|
||||
@@ -6162,6 +6165,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6212,6 +6215,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_DEST_NAME,
|
||||
&dname) < 0 ||
|
||||
@ -85,7 +85,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_URI,
|
||||
&uri) < 0)
|
||||
@@ -6176,11 +6191,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6226,11 +6241,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
|
||||
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
|
||||
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
|
||||
@ -99,11 +99,11 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
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.1.0/src/libxl/libxl_migration.c
|
||||
@@ -339,18 +339,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_migration.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_migration.c
|
||||
@@ -345,18 +345,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||
static int
|
||||
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
||||
virDomainObjPtr vm,
|
||||
@ -145,7 +145,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
if (ret != 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Failed to send migration data to destination host"));
|
||||
@@ -903,7 +924,7 @@ struct libxlTunnelControl {
|
||||
@@ -913,7 +934,7 @@ struct libxlTunnelControl {
|
||||
static int
|
||||
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
|
||||
virDomainObjPtr vm,
|
||||
@ -154,7 +154,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
virStreamPtr st,
|
||||
struct libxlTunnelControl **tnl)
|
||||
{
|
||||
@@ -934,7 +955,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
||||
@@ -947,7 +968,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
||||
|
||||
virObjectUnlock(vm);
|
||||
/* Send data to pipe */
|
||||
@ -163,7 +163,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
virObjectLock(vm);
|
||||
|
||||
out:
|
||||
@@ -970,7 +991,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -983,7 +1004,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
const char *dconnuri G_GNUC_UNUSED,
|
||||
const char *dname,
|
||||
const char *uri,
|
||||
@ -172,7 +172,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
virDomainPtr ddomain = 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
|
||||
* 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)))
|
||||
goto confirm;
|
||||
ret = dconn->driver->domainMigratePrepareTunnel3Params
|
||||
@@ -1033,7 +1054,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1046,7 +1067,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
if (ret == -1)
|
||||
goto confirm;
|
||||
|
||||
@ -195,7 +195,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
if (uri_out) {
|
||||
if (virTypedParamsReplaceString(¶ms, &nparams,
|
||||
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));
|
||||
@ -210,7 +210,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
if (ret < 0) {
|
||||
notify_source = false;
|
||||
virErrorPreserveLast(&orig_err);
|
||||
@@ -1087,7 +1108,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1100,7 +1121,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
confirm:
|
||||
if (notify_source) {
|
||||
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)
|
||||
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
||||
@@ -1095,7 +1116,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1108,7 +1129,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
}
|
||||
|
||||
cleanup:
|
||||
@ -228,7 +228,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
libxlMigrationSrcStopTunnel(tc);
|
||||
virObjectUnref(st);
|
||||
}
|
||||
@@ -1139,7 +1160,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
@@ -1152,7 +1173,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
const char *dconnuri,
|
||||
const char *uri_str G_GNUC_UNUSED,
|
||||
const char *dname,
|
||||
@ -237,7 +237,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
int ret = -1;
|
||||
bool useParams;
|
||||
@@ -1174,7 +1195,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
@@ -1187,7 +1208,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
}
|
||||
|
||||
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) {
|
||||
/*
|
||||
@@ -1201,7 +1222,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
@@ -1214,7 +1235,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
const char *dconnuri G_GNUC_UNUSED,
|
||||
const char *uri_str,
|
||||
const char *dname G_GNUC_UNUSED,
|
||||
@ -255,7 +255,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
libxlDomainObjPrivatePtr priv = vm->privateData;
|
||||
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 */
|
||||
virObjectUnlock(vm);
|
||||
@ -264,10 +264,10 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
virObjectLock(vm);
|
||||
|
||||
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.1.0/src/libxl/libxl_migration.h
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_migration.h
|
||||
+++ libvirt-6.2.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.1.0/src/libxl/libxl_migration.h
|
||||
|
||||
virDomainPtr
|
||||
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.1.0/tools/virsh-domain.c
|
||||
@@ -10713,6 +10713,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||
--- libvirt-6.2.0.orig/tools/virsh-domain.c
|
||||
+++ libvirt-6.2.0/tools/virsh-domain.c
|
||||
@@ -10716,6 +10716,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.1.0/tools/virsh-domain.c
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
@@ -10735,6 +10751,7 @@ doMigrate(void *opaque)
|
||||
@@ -10738,6 +10754,7 @@ doMigrate(void *opaque)
|
||||
unsigned long long ullOpt = 0;
|
||||
int rv;
|
||||
virConnectPtr dconn = data->dconn;
|
||||
@ -347,7 +347,7 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
|
||||
#ifndef WIN32
|
||||
sigset_t sigmask, oldsigmask;
|
||||
|
||||
@@ -10857,6 +10874,27 @@ doMigrate(void *opaque)
|
||||
@@ -10860,6 +10877,27 @@ doMigrate(void *opaque)
|
||||
goto save_error;
|
||||
}
|
||||
|
||||
@ -375,10 +375,10 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
|
||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||
goto out;
|
||||
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.1.0/docs/manpages/virsh.rst
|
||||
--- libvirt-6.2.0.orig/docs/manpages/virsh.rst
|
||||
+++ libvirt-6.2.0/docs/manpages/virsh.rst
|
||||
@@ -3093,6 +3093,8 @@ migrate
|
||||
[--postcopy-bandwidth bandwidth]
|
||||
[--parallel [--parallel-connections connections]]
|
||||
|
@ -7,11 +7,11 @@ and npiv.
|
||||
|
||||
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.1.0/src/libxl/libxl_conf.c
|
||||
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -870,6 +870,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
static void
|
||||
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
||||
{
|
||||
@@ -1006,6 +1022,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
@@ -1010,6 +1026,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
int
|
||||
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
||||
{
|
||||
@ -42,7 +42,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
const char *driver = virDomainDiskGetDriver(l_disk);
|
||||
int format = virDomainDiskGetFormat(l_disk);
|
||||
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
||||
@@ -1021,7 +1038,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1025,7 +1042,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.1.0/src/libxl/libxl_conf.c
|
||||
}
|
||||
|
||||
x_disk->vdev = g_strdup(l_disk->dst);
|
||||
@@ -1132,6 +1149,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1136,6 +1153,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||
return -1;
|
||||
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
||||
|
@ -13,11 +13,11 @@ device with the same name that is being created.
|
||||
src/lxc/lxc_process.c | 1 +
|
||||
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.1.0/src/lxc/lxc_controller.c
|
||||
@@ -1985,6 +1985,7 @@ static int virLXCControllerDeleteInterfa
|
||||
--- libvirt-6.2.0.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-6.2.0/src/lxc/lxc_controller.c
|
||||
@@ -2056,6 +2056,7 @@ static int virLXCControllerDeleteInterfa
|
||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||
ret = -1;
|
||||
}
|
||||
@ -25,10 +25,10 @@ Index: libvirt-6.1.0/src/lxc/lxc_controller.c
|
||||
|
||||
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.1.0/src/lxc/lxc_driver.c
|
||||
--- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.2.0/src/lxc/lxc_driver.c
|
||||
@@ -67,6 +67,7 @@
|
||||
#include "virtime.h"
|
||||
#include "virtypedparam.h"
|
||||
@ -53,10 +53,10 @@ Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
||||
break;
|
||||
|
||||
/* 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.1.0/src/lxc/lxc_process.c
|
||||
--- libvirt-6.2.0.orig/src/lxc/lxc_process.c
|
||||
+++ libvirt-6.2.0/src/lxc/lxc_process.c
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "virstring.h"
|
||||
#include "virprocess.h"
|
||||
@ -65,7 +65,7 @@ Index: libvirt-6.1.0/src/lxc/lxc_process.c
|
||||
#include "netdev_bandwidth_conf.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));
|
||||
}
|
||||
}
|
||||
|
@ -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.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.1.0/src/network/bridge_driver.c
|
||||
@@ -1506,7 +1506,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||
--- libvirt-6.2.0.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-6.2.0/src/network/bridge_driver.c
|
||||
@@ -1444,7 +1444,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.1.0/src/network/bridge_driver.c
|
||||
}
|
||||
|
||||
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.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
--- libvirt-6.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
+++ libvirt-6.2.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.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.1.0/src/util/virarch.c
|
||||
--- libvirt-6.2.0.orig/src/util/virarch.c
|
||||
+++ libvirt-6.2.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.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.1.0/src/security/apparmor/libvirt-qemu
|
||||
--- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -228,3 +228,6 @@
|
||||
# required for sasl GSSAPI plugin
|
||||
/etc/gss/mech.d/ r,
|
||||
|
@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
|
||||
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
|
||||
2 files changed, 35 insertions(+), 15 deletions(-)
|
||||
|
||||
Index: libvirt-6.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.1.0/src/libxl/xen_common.c
|
||||
--- libvirt-6.2.0.orig/src/libxl/xen_common.c
|
||||
+++ libvirt-6.2.0/src/libxl/xen_common.c
|
||||
@@ -381,12 +381,19 @@ xenParsePCI(char *entry)
|
||||
int busID;
|
||||
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.
|
||||
|
||||
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.1.0/src/security/apparmor/libvirt-qemu
|
||||
--- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -61,6 +61,7 @@
|
||||
#/dev/fb* rw,
|
||||
|
||||
@ -20,10 +20,10 @@ Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
||||
@{HOME}/.pulse-cookie rwk,
|
||||
owner /root/.pulse-cookie rwk,
|
||||
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.1.0/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.2.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,10 +9,10 @@ need backporting to anything older. The dependency on xen.git commit
|
||||
c3999835df makes it hard to upstream this patch.
|
||||
|
||||
See bsc#1157490 and bsc#1167007 for more details
|
||||
Index: libvirt-6.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.1.0/m4/virt-driver-libxl.m4
|
||||
--- libvirt-6.2.0.orig/m4/virt-driver-libxl.m4
|
||||
+++ libvirt-6.2.0/m4/virt-driver-libxl.m4
|
||||
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
|
||||
LIBXL_CFLAGS=""
|
||||
LIBXL_FIRMWARE_DIR=""
|
||||
@ -27,24 +27,24 @@ Index: libvirt-6.1.0/m4/virt-driver-libxl.m4
|
||||
if test "x$with_libxl" = "xyes" ; then
|
||||
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
|
||||
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
|
||||
Index: libvirt-6.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.1.0/src/libxl/libxl_conf.c
|
||||
@@ -1785,7 +1785,7 @@ int
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -1788,7 +1788,7 @@ libxlDriverConfigNew(void)
|
||||
int
|
||||
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
|
||||
{
|
||||
char ebuf[1024];
|
||||
- unsigned int free_mem;
|
||||
+ uint64_t free_mem;
|
||||
|
||||
if (virFileMakePath(cfg->logDir) < 0) {
|
||||
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.1.0/src/libxl/libxl_domain.c
|
||||
@@ -1006,8 +1006,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_domain.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_domain.c
|
||||
@@ -1020,8 +1020,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
|
||||
static int
|
||||
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;
|
||||
int tries = 3;
|
||||
int wait_secs = 10;
|
||||
@@ -1401,7 +1401,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
|
||||
@@ -1415,7 +1415,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
|
||||
params.stream_version = restore_ver;
|
||||
#endif
|
||||
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);
|
||||
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.1.0/tests/libxlmock.c
|
||||
--- libvirt-6.2.0.orig/tests/libxlmock.c
|
||||
+++ libvirt-6.2.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,
|
||||
|
@ -1,9 +1,9 @@
|
||||
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.1.0/tools/libvirt-guests.sh.in
|
||||
--- libvirt-6.2.0.orig/tools/libvirt-guests.sh.in
|
||||
+++ libvirt-6.2.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.1.0/tools/libvirt-guests.sh.in
|
||||
esac
|
||||
-exit $RETVAL
|
||||
+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.1.0/tools/libvirt-guests.sysconf
|
||||
--- libvirt-6.2.0.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-6.2.0/tools/libvirt-guests.sysconf
|
||||
@@ -1,19 +1,29 @@
|
||||
+## 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
|
||||
Unix Domain Socket. The libvirt client still provides remote access
|
||||
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.1.0/src/remote/remote_daemon_config.c
|
||||
--- libvirt-6.2.0.orig/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
|
||||
|
||||
#ifdef WITH_IP
|
||||
@ -16,10 +16,10 @@ Index: libvirt-6.1.0/src/remote/remote_daemon_config.c
|
||||
# else /* ! LIBVIRTD */
|
||||
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
|
||||
# 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.1.0/src/remote/libvirtd.conf.in
|
||||
--- libvirt-6.2.0.orig/src/remote/libvirtd.conf.in
|
||||
+++ libvirt-6.2.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.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.1.0/src/remote/libvirtd.sysconf
|
||||
--- libvirt-6.2.0.orig/src/remote/libvirtd.sysconf
|
||||
+++ libvirt-6.2.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.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.1.0/src/libxl/libxl.conf
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl.conf
|
||||
+++ libvirt-6.2.0/src/libxl/libxl.conf
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
# Enable autoballooning of domain0
|
||||
@ -27,11 +27,11 @@ Index: libvirt-6.1.0/src/libxl/libxl.conf
|
||||
|
||||
|
||||
# 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.1.0/src/libxl/libxl_conf.c
|
||||
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -1702,15 +1702,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.1.0/src/libxl/libxl_conf.c
|
||||
int res;
|
||||
|
||||
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
|
||||
@@ -1715,15 +1712,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
@@ -1719,15 +1716,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
else if (res == 1)
|
||||
return 0;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
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.1.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.2.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.2.0/src/qemu/qemu.conf
|
||||
@@ -788,10 +788,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.1.0/src/qemu/qemu.conf
|
||||
#]
|
||||
|
||||
# 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.1.0/src/qemu/qemu_conf.c
|
||||
--- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||
@@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
||||
|
||||
#ifndef DEFAULT_LOADER_NVRAM
|
||||
@ -36,11 +36,11 @@ Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
||||
#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.1.0/src/security/virt-aa-helper.c
|
||||
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool
|
||||
--- libvirt-6.2.0.orig/src/security/virt-aa-helper.c
|
||||
+++ libvirt-6.2.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 */
|
||||
"/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
|
||||
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.1.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.2.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.2.0/src/qemu/qemu.conf
|
||||
@@ -420,10 +420,19 @@
|
||||
# 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"
|
||||
|
||||
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.1.0/src/qemu/qemu_conf.c
|
||||
@@ -263,7 +263,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
|
||||
--- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.2.0/src/qemu/qemu_conf.c
|
||||
@@ -266,7 +266,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
|
||||
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
|
||||
|
||||
- cfg->securityDefaultConfined = true;
|
||||
+ cfg->securityDefaultConfined = false;
|
||||
|
@ -1,9 +1,9 @@
|
||||
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.1.0/src/locking/virtlockd.sysconf
|
||||
--- libvirt-6.2.0.orig/src/locking/virtlockd.sysconf
|
||||
+++ libvirt-6.2.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.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.1.0/src/logging/virtlogd.sysconf
|
||||
--- libvirt-6.2.0.orig/src/logging/virtlogd.sysconf
|
||||
+++ libvirt-6.2.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.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.1.0/src/libxl/libxl_conf.c
|
||||
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
|
||||
--- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.2.0/src/libxl/libxl_conf.c
|
||||
@@ -1742,6 +1742,15 @@ libxlDriverConfigNew(void)
|
||||
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_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.1.0/tools/Makefile.am
|
||||
--- libvirt-6.2.0.orig/tools/Makefile.am
|
||||
+++ libvirt-6.2.0/tools/Makefile.am
|
||||
@@ -70,7 +70,7 @@ MAINTAINERCLEANFILES =
|
||||
confdir = $(sysconfdir)/libvirt
|
||||
conf_DATA =
|
||||
@ -11,10 +11,10 @@ Index: libvirt-6.1.0/tools/Makefile.am
|
||||
bin_PROGRAMS = virsh virt-admin
|
||||
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
|
||||
+++ libvirt-6.1.0/tools/virt-create-rootfs
|
||||
+++ libvirt-6.2.0/tools/virt-create-rootfs
|
||||
@@ -0,0 +1,231 @@
|
||||
+#!/bin/sh
|
||||
+set -e
|
||||
@ -247,10 +247,10 @@ Index: libvirt-6.1.0/tools/virt-create-rootfs
|
||||
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
||||
+ chroot "$ROOT" /usr/bin/passwd
|
||||
+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.1.0/docs/Makefile.am
|
||||
--- libvirt-6.2.0.orig/docs/Makefile.am
|
||||
+++ libvirt-6.2.0/docs/Makefile.am
|
||||
@@ -209,6 +209,7 @@ manpages1_rst = \
|
||||
manpages/virt-xml-validate.rst \
|
||||
manpages/virt-admin.rst \
|
||||
@ -259,10 +259,10 @@ Index: libvirt-6.1.0/docs/Makefile.am
|
||||
$(NULL)
|
||||
manpages7_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
|
||||
+++ libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst
|
||||
+++ libvirt-6.2.0/docs/manpages/virt-create-rootfs.rst
|
||||
@@ -0,0 +1,88 @@
|
||||
+==================
|
||||
+virt-create-rootfs
|
||||
|
Loading…
Reference in New Issue
Block a user