virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListDel()

This change will allow us to remove PCI devices from a list
without the need of a PCI Device object, which will be need
in the next patch.

Reviewed-by: Laine Stump <laine@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Daniel Henrique Barboza 2021-01-04 09:54:43 -03:00
parent de80a10738
commit ac81176614
3 changed files with 8 additions and 7 deletions

View File

@ -980,11 +980,11 @@ virHostdevReAttachPCIDevicesImpl(virHostdevManagerPtr mgr,
if (STRNEQ_NULLABLE(drv_name, actual_drvname) ||
STRNEQ_NULLABLE(dom_name, actual_domname)) {
virPCIDeviceListDel(pcidevs, pci);
virPCIDeviceListDel(pcidevs, virPCIDeviceGetAddress(pci));
continue;
}
} else {
virPCIDeviceListDel(pcidevs, pci);
virPCIDeviceListDel(pcidevs, virPCIDeviceGetAddress(pci));
continue;
}
@ -2486,7 +2486,8 @@ virHostdevUpdateActiveNVMeDevices(virHostdevManagerPtr hostdev_mgr,
while (lastGoodPCIIdx >= 0) {
virPCIDevicePtr actual = virPCIDeviceListGet(pciDevices, i);
virPCIDeviceListDel(hostdev_mgr->activePCIHostdevs, actual);
virPCIDeviceListDel(hostdev_mgr->activePCIHostdevs,
virPCIDeviceGetAddress(actual));
lastGoodPCIIdx--;
}

View File

@ -1336,7 +1336,7 @@ virPCIDeviceReattach(virPCIDevicePtr dev,
/* Steal the dev from list inactiveDevs */
if (inactiveDevs) {
VIR_DEBUG("Removing PCI device %s from inactive list", dev->name);
virPCIDeviceListDel(inactiveDevs, dev);
virPCIDeviceListDel(inactiveDevs, &dev->address);
}
return 0;
@ -1750,9 +1750,9 @@ virPCIDeviceListSteal(virPCIDeviceListPtr list,
void
virPCIDeviceListDel(virPCIDeviceListPtr list,
virPCIDevicePtr dev)
virPCIDeviceAddressPtr devAddr)
{
virPCIDeviceFree(virPCIDeviceListSteal(list, &dev->address));
virPCIDeviceFree(virPCIDeviceListSteal(list, devAddr));
}
int

View File

@ -170,7 +170,7 @@ virPCIDevicePtr virPCIDeviceListSteal(virPCIDeviceListPtr list,
virPCIDevicePtr virPCIDeviceListStealIndex(virPCIDeviceListPtr list,
int idx);
void virPCIDeviceListDel(virPCIDeviceListPtr list,
virPCIDevicePtr dev);
virPCIDeviceAddressPtr devAddr);
virPCIDevicePtr virPCIDeviceListFind(virPCIDeviceListPtr list,
virPCIDeviceAddressPtr devAddr);
virPCIDevicePtr