mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-04-26 15:14:42 +00:00
qemu: Use switch statement for address types in qemuBuildControllerDevStr
Use a switch statement instead of if-else-if statements. Move the command line building of the iothread attribute into the common path as the SCSI controller attributes are already validated. Signed-off-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com>
This commit is contained in:
parent
5775089e14
commit
b0fc6a69d0
@ -2608,6 +2608,7 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
|
|||||||
int *nusbcontroller)
|
int *nusbcontroller)
|
||||||
{
|
{
|
||||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
int address_type = def->info.type;
|
||||||
const virDomainPCIControllerOpts *pciopts;
|
const virDomainPCIControllerOpts *pciopts;
|
||||||
const char *modelName = NULL;
|
const char *modelName = NULL;
|
||||||
|
|
||||||
@ -2617,23 +2618,25 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
|
|||||||
case VIR_DOMAIN_CONTROLLER_TYPE_SCSI:
|
case VIR_DOMAIN_CONTROLLER_TYPE_SCSI:
|
||||||
switch ((virDomainControllerModelSCSI) def->model) {
|
switch ((virDomainControllerModelSCSI) def->model) {
|
||||||
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI:
|
case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI:
|
||||||
if (def->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
|
switch ((virDomainDeviceAddressType) address_type) {
|
||||||
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
|
||||||
virBufferAddLit(&buf, "virtio-scsi-ccw");
|
virBufferAddLit(&buf, "virtio-scsi-ccw");
|
||||||
if (def->iothread)
|
break;
|
||||||
virBufferAsprintf(&buf, ",iothread=iothread%u",
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390:
|
||||||
def->iothread);
|
|
||||||
} else if (def->info.type ==
|
|
||||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
|
|
||||||
virBufferAddLit(&buf, "virtio-scsi-s390");
|
virBufferAddLit(&buf, "virtio-scsi-s390");
|
||||||
} else if (def->info.type ==
|
break;
|
||||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO) {
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO:
|
||||||
virBufferAddLit(&buf, "virtio-scsi-device");
|
virBufferAddLit(&buf, "virtio-scsi-device");
|
||||||
} else {
|
break;
|
||||||
|
default:
|
||||||
virBufferAddLit(&buf, "virtio-scsi-pci");
|
virBufferAddLit(&buf, "virtio-scsi-pci");
|
||||||
if (def->iothread)
|
|
||||||
virBufferAsprintf(&buf, ",iothread=iothread%u",
|
|
||||||
def->iothread);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (def->iothread) {
|
||||||
|
virBufferAsprintf(&buf, ",iothread=iothread%u",
|
||||||
|
def->iothread);
|
||||||
|
}
|
||||||
|
|
||||||
if (qemuBuildVirtioOptionsStr(&buf, def->virtio, qemuCaps) < 0)
|
if (qemuBuildVirtioOptionsStr(&buf, def->virtio, qemuCaps) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
break;
|
break;
|
||||||
@ -2661,18 +2664,20 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL:
|
case VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL:
|
||||||
if (def->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
|
switch ((virDomainDeviceAddressType) address_type) {
|
||||||
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI:
|
||||||
virBufferAddLit(&buf, "virtio-serial-pci");
|
virBufferAddLit(&buf, "virtio-serial-pci");
|
||||||
} else if (def->info.type ==
|
break;
|
||||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
|
||||||
virBufferAddLit(&buf, "virtio-serial-ccw");
|
virBufferAddLit(&buf, "virtio-serial-ccw");
|
||||||
} else if (def->info.type ==
|
break;
|
||||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) {
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390:
|
||||||
virBufferAddLit(&buf, "virtio-serial-s390");
|
virBufferAddLit(&buf, "virtio-serial-s390");
|
||||||
} else if (def->info.type ==
|
break;
|
||||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO) {
|
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_MMIO:
|
||||||
virBufferAddLit(&buf, "virtio-serial-device");
|
virBufferAddLit(&buf, "virtio-serial-device");
|
||||||
} else {
|
break;
|
||||||
|
default:
|
||||||
virBufferAddLit(&buf, "virtio-serial");
|
virBufferAddLit(&buf, "virtio-serial");
|
||||||
}
|
}
|
||||||
virBufferAsprintf(&buf, ",id=%s", def->info.alias);
|
virBufferAsprintf(&buf, ",id=%s", def->info.alias);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user