From: Shivaprasad G Bhat Date: Wed, 1 Apr 2015 10:58:05 +0000 (+0530) Subject: hostdev: Report the domain name for used hostdevs during nodedev-detach X-Git-Tag: v1.2.15-rc1~290 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb0ef7a60eda3ee906dc0e3bc6ed5e54da7e0c74;p=thirdparty%2Flibvirt.git hostdev: Report the domain name for used hostdevs during nodedev-detach The nodedev-detach can report the name of the domain using the device just the way nodedev-reattach does it. Signed-off-by: Shivaprasad G Bhat Signed-off-by: Ján Tomko --- diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index 83f567d307..68e060b985 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -1521,11 +1521,18 @@ int virHostdevPCINodeDeviceDetach(virHostdevManagerPtr hostdev_mgr, virPCIDevicePtr pci) { + virPCIDeviceAddressPtr devAddr = NULL; int ret = -1; virObjectLock(hostdev_mgr->activePCIHostdevs); virObjectLock(hostdev_mgr->inactivePCIHostdevs); + if (!(devAddr = virPCIDeviceGetAddress(pci))) + goto out; + + if (virHostdevIsPCINodeDeviceUsed(devAddr, hostdev_mgr)) + goto out; + if (virPCIDeviceDetach(pci, hostdev_mgr->activePCIHostdevs, hostdev_mgr->inactivePCIHostdevs) < 0) { goto out; @@ -1535,6 +1542,7 @@ virHostdevPCINodeDeviceDetach(virHostdevManagerPtr hostdev_mgr, out: virObjectUnlock(hostdev_mgr->inactivePCIHostdevs); virObjectUnlock(hostdev_mgr->activePCIHostdevs); + VIR_FREE(devAddr); return ret; }