Another bug fix for the Factory libvirt package.
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=820
This commit is contained in:
parent
d63331a41e
commit
7ba3f0b84b
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");
|
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,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
@ -10,6 +20,8 @@ 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
|
||||
|
@ -339,6 +339,9 @@ Source99: baselibs.conf
|
||||
Source100: %{name}-rpmlintrc
|
||||
# Upstream patches
|
||||
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
|
||||
@ -875,6 +878,9 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch150 -p1
|
||||
@ -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"
|
||||
|
@ -7,7 +7,7 @@ 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
|
||||
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
@@ -870,6 +870,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ Index: libvirt-6.2.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;
|
||||
|
@ -11,7 +11,7 @@ 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
|
||||
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
@@ -870,6 +870,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ Index: libvirt-6.2.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.2.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.2.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);
|
||||
|
@ -31,7 +31,7 @@ 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
|
||||
@@ -1784,7 +1784,7 @@ libxlDriverConfigNew(void)
|
||||
@@ -1788,7 +1788,7 @@ libxlDriverConfigNew(void)
|
||||
int
|
||||
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
|
||||
{
|
||||
|
@ -31,7 +31,7 @@ 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
|
||||
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
@@ -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.2.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;
|
||||
|
||||
|
@ -9,7 +9,7 @@ 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
|
||||
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
|
||||
@@ -1742,6 +1742,15 @@ libxlDriverConfigNew(void)
|
||||
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
|
||||
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user