mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
conf: Validate that iothreads are used only with 'virtio-scsi' controllers
The documentation states: ``iothread`` Supported for controller type ``scsi`` using model ``virtio-scsi`` for ``address`` types ``pci`` and ``ccw`` :since:`since 1.3.5 (QEMU 2.4)`. The The code itself didn't validate if iothread is specified for any other controller type. Add test case showing the issue on one example. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
1b4e451dcb
commit
d78260cd3f
@ -1260,6 +1260,17 @@ virDomainControllerDefValidate(const virDomainControllerDef *controller)
|
||||
}
|
||||
}
|
||||
|
||||
if (controller->iothread != 0) {
|
||||
if (controller->type != VIR_DOMAIN_CONTROLLER_TYPE_SCSI ||
|
||||
!(controller->model == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI ||
|
||||
controller->model == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_TRANSITIONAL ||
|
||||
controller->model == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_NON_TRANSITIONAL)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("iothreads are supported only by 'virtio-scsi' controllers"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1 @@
|
||||
XML error: 'iothread' attribute only supported for virtio scsi controllers
|
27
tests/qemuxmlconfdata/controller-virtio-serial-iothread.xml
Normal file
27
tests/qemuxmlconfdata/controller-virtio-serial-iothread.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219100</memory>
|
||||
<currentMemory unit='KiB'>219100</currentMemory>
|
||||
<vcpu placement='static' cpuset='1-4,8-20,525'>1</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
||||
<controller type='usb' index='0'/>
|
||||
<controller type='ide' index='0'/>
|
||||
<controller type='virtio-serial' index='0'>
|
||||
<driver iothread='3'/>
|
||||
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||||
</controller>
|
||||
<console type='pty'>
|
||||
<target type='virtio'/>
|
||||
</console>
|
||||
</devices>
|
||||
</domain>
|
@ -2824,6 +2824,8 @@ mymain(void)
|
||||
DO_TEST_CAPS_LATEST("virtio-options-rng-packed");
|
||||
DO_TEST_CAPS_LATEST("virtio-options-video-packed");
|
||||
|
||||
DO_TEST_CAPS_LATEST_PARSE_ERROR("controller-virtio-serial-iothread");
|
||||
|
||||
DO_TEST_CAPS_LATEST("fd-memory-numa-topology");
|
||||
DO_TEST_CAPS_LATEST("fd-memory-numa-topology2");
|
||||
DO_TEST_CAPS_LATEST("fd-memory-numa-topology3");
|
||||
|
Loading…
x
Reference in New Issue
Block a user