mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
bhyve: fix disks address allocation
As bhyve currently doesn't use controller addressing and simply uses 1 implicit controller for 1 disk device, the scheme looks the following: pci addrees -> (implicit controller) -> disk device So in fact we identify disk devices by pci address of implicit controller and just pass it this way to bhyve in a form: -s pci_addr,ahci-(cd|hd),/path/to/disk Therefore, we cannot use virDeviceInfoPCIAddressWanted() because it does not expect that disk devices might need PCI address assignment. As a result, if a disk was specified without address, it will not be generated and domain will to start. Until proper controller addressing is implemented in the bhyve driver, force each disk to have PCI address generated if it was not specified by user.
This commit is contained in:
parent
67af358d11
commit
25ee22bdbc
@ -107,7 +107,8 @@ bhyveAssignDevicePCISlots(virDomainDefPtr def,
|
||||
}
|
||||
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
if (!virDeviceInfoPCIAddressWanted(&def->disks[i]->info))
|
||||
if (def->disks[i]->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI &&
|
||||
!virPCIDeviceAddressIsEmpty(&def->disks[i]->info.addr.pci))
|
||||
continue;
|
||||
if (virDomainPCIAddressReserveNextSlot(addrs,
|
||||
&def->disks[i]->info,
|
||||
|
Loading…
Reference in New Issue
Block a user