[libvirt] [PATCH v2 4/4] qemu: Add check for PCI bridge placement if there are too many PCI devices
Erik Skultety
eskultet at redhat.com
Fri Jan 23 13:54:37 UTC 2015
On 01/23/2015 02:38 PM, Ján Tomko wrote:
>> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
>> index a3dedbf..870771f 100644
>> --- a/src/qemu/qemu_command.c
>> +++ b/src/qemu/qemu_command.c
>> @@ -1982,6 +1982,25 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
>> if (qemuAssignDevicePCISlots(def, qemuCaps, addrs) < 0)
>> goto cleanup;
>> }
>> +
>> + for (i = 0; i < def->ncontrollers; i++) {
>> + /* check if every PCI bridge controller's ID is greater than
>> + * the bus it is placed onto
>> + */
>> + virDomainControllerDefPtr cont = def->controllers[i];
>> + int idx = cont->idx;
>> + int bus = cont->info.addr.pci.bus;
>> + if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI &&
>> + cont->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE &&
>> + idx <= bus) {
>> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
>> + _("failed to create PCI bridge "
>> + "on bus %d: too many devices with fixed "
>> + "addresses"),
>> + bus);
>> + goto cleanup;
>> + }
>> + }
>> }
>>
>> if (obj && obj->privateData) {
>>
>
> I have moved the check into if (qemuDomainSupportsPCI) and pushed the patch.
>
> Jan
>
Thank you.
Erik
More information about the libvir-list
mailing list