Re: [PATCH RESEND 19/20] virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListDel()

2021-02-21 Thread Laine Stump

On 1/18/21 2:53 PM, Daniel Henrique Barboza wrote:

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.

Signed-off-by: Daniel Henrique Barboza 


Reviewed-by: Laine Stump 







[PATCH RESEND 19/20] virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListDel()

2021-01-18 Thread Daniel Henrique Barboza
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.

Signed-off-by: Daniel Henrique Barboza 
---
 src/hypervisor/virhostdev.c | 7 ---
 src/util/virpci.c   | 6 +++---
 src/util/virpci.h   | 2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c
index 4042f874d6..c708791eec 100644
--- a/src/hypervisor/virhostdev.c
+++ b/src/hypervisor/virhostdev.c
@@ -1005,11 +1005,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;
 }
 
@@ -2522,7 +2522,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--;
 }
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 332e681c43..76dfd71802 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -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
diff --git a/src/util/virpci.h b/src/util/virpci.h
index e3458a75fa..eb71eb4451 100644
--- a/src/util/virpci.h
+++ b/src/util/virpci.h
@@ -165,7 +165,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
-- 
2.26.2