nodedev: Introduce virNodeDeviceGetParentName

Create a function which takes a node device "name" entry to lookup
and returns a string containing the parent name for the node device.
This commit is contained in:
John Ferlan 2017-02-18 08:25:07 -05:00
parent 16416816c1
commit aa6aa624ad
3 changed files with 34 additions and 0 deletions

View File

@ -2288,3 +2288,33 @@ virNodeDeviceObjListExport(virConnectPtr conn,
VIR_FREE(tmp_devices);
return ret;
}
/* virNodeDeviceGetParentName
* @conn: Connection pointer
* @nodedev_name: Node device to lookup
*
* Lookup the node device by name and return the parent name
*
* Returns parent name on success, caller is responsible for freeing;
* otherwise, returns NULL on failure
*/
char *
virNodeDeviceGetParentName(virConnectPtr conn,
const char *nodedev_name)
{
virNodeDevicePtr device = NULL;
char *parent;
if (!(device = virNodeDeviceLookupByName(conn, nodedev_name))) {
virReportError(VIR_ERR_XML_ERROR,
_("Cannot find '%s' in node device database"),
nodedev_name);
return NULL;
}
ignore_value(VIR_STRDUP(parent, virNodeDeviceGetParent(device)));
virObjectUnref(device);
return parent;
}

View File

@ -352,4 +352,7 @@ int virNodeDeviceObjListExport(virConnectPtr conn,
virNodeDeviceObjListFilter filter,
unsigned int flags);
char *virNodeDeviceGetParentName(virConnectPtr conn,
const char *nodedev_name);
#endif /* __VIR_NODE_DEVICE_CONF_H__ */

View File

@ -706,6 +706,7 @@ virNodeDeviceFindVportParentHost;
virNodeDeviceGetParentHost;
virNodeDeviceGetParentHostByFabricWWN;
virNodeDeviceGetParentHostByWWNs;
virNodeDeviceGetParentName;
virNodeDeviceGetWWNs;
virNodeDeviceHasCap;
virNodeDeviceObjListExport;