
On 01/25/2018 10:23 AM, Erik Skultety wrote:
This is a replacement for the existing udevPCIGetMdevTypesCap which is static to the udev backend. This simple helper constructs the sysfs path from the device's base path for each mdev type and queries the corresponding attributes of that type.
Signed-off-by: Erik Skultety <eskultet@redhat.com> --- src/libvirt_private.syms | 1 + src/util/virpci.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ src/util/virpci.h | 4 ++++ 3 files changed, 63 insertions(+)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 75eaf1d4c..8d4c8dd3f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2456,6 +2456,7 @@ virPCIDeviceWaitForCleanup; virPCIEDeviceInfoFree; virPCIGetDeviceAddressFromSysfsLink; virPCIGetHeaderType; +virPCIGetMdevTypes; virPCIGetNetName; virPCIGetPhysicalFunction; virPCIGetVirtualFunctionIndex; diff --git a/src/util/virpci.c b/src/util/virpci.c index fe57bef32..12d7ef0e4 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -3027,6 +3027,64 @@ virPCIGetVirtualFunctionInfo(const char *vf_sysfs_device_path, return ret; }
+ +int +virPCIGetMdevTypes(const char *sysfspath, + virMediatedDeviceTypePtr **types)
Since this function returns size_t on success, I guess the retval should be type of ssize_t at least. We are not guaranteed that size_t will fit into int (although in this case it will - currently you will have only limited number of MDEVs if any). ACK Michal