From d05da3fc7218b9f684de21414c3c5a6ede9000a8 Mon Sep 17 00:00:00 2001 From: Laine Stump Date: Tue, 17 May 2016 14:06:36 -0400 Subject: [PATCH] bhyve: auto-assign addresses when
is specified Rather than only assigning a PCI address when no address is given at all, also do it when the config says that the address type is 'pci', but it gives no address. --- src/bhyve/bhyve_device.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/bhyve/bhyve_device.c b/src/bhyve/bhyve_device.c index 3eb2956580..8373a5f2c3 100644 --- a/src/bhyve/bhyve_device.c +++ b/src/bhyve/bhyve_device.c @@ -98,7 +98,7 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def, goto error; for (i = 0; i < def->nnets; i++) { - if (def->nets[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) + if (!virDeviceInfoPCIAddressWanted(&def->nets[i]->info)) continue; if (virDomainPCIAddressReserveNextSlot(addrs, &def->nets[i]->info, @@ -107,8 +107,7 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def, } for (i = 0; i < def->ndisks; i++) { - if (def->disks[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && - def->disks[i]->info.addr.pci.slot != 0) + if (!virDeviceInfoPCIAddressWanted(&def->disks[i]->info)) continue; if (virDomainPCIAddressReserveNextSlot(addrs, &def->disks[i]->info, @@ -118,9 +117,8 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def, for (i = 0; i < def->ncontrollers; i++) { if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) { - if (def->controllers[i]->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) - continue; - if (def->controllers[i]->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT) + if (def->controllers[i]->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT || + !virDeviceInfoPCIAddressWanted(&def->controllers[i]->info)) continue; if (virDomainPCIAddressReserveNextSlot(addrs, -- GitLab