diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9c435de4ad50cb5de9c8eb9423149395076d5003..09364929c739b290720f03356fea76bd64d255ac 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1319,15 +1319,21 @@ qemuAssignDevicePCISlots(virDomainDefPtr def, qemuDomainPCIAddressSetPtr addrs) goto error; } - /* Disks (VirtIO only for now */ + /* Disks (VirtIO only for now) */ for (i = 0; i < def->ndisks ; i++) { - if (def->disks[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) - continue; - /* Only VirtIO disks use PCI addrs */ if (def->disks[i]->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) continue; + if (def->disks[i]->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) + continue; + + if (def->disks[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { + qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("virtio only support device address type 'PCI'")); + goto error; + } + if (qemuDomainPCIAddressSetNextAddr(addrs, &def->disks[i]->info) < 0) goto error; }