Patch 5/6 resolves this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=981546
(filed against RHEL7, but existing in every version of libvirt that
supports reporting of SRIOV virtual function info via the NodeDevice
APIs - 0.7.5, believe it or not).
The rest of the series is there to make the bugfix less of a hack (and
make it easier to fix future similar bugs).
Laine Stump (6):
conf: make virNodeDevCapData an official type
nodedev: change if-else if in update_caps to switch
node device: prepare node_device_linux_sysfs.c to add more functions
node_device: new functions to get sriov/iommu info from sysfs
node_device: update sriov/iommu info before dumpxml of a device
node_device: replace duplicated code in hal and udev backends
src/Makefile.am | 5 +-
src/conf/node_device_conf.c | 50 ++++++++--------
src/conf/node_device_conf.h | 16 +++--
src/libxl/libxl_driver.c | 4 +-
src/node_device/node_device_driver.c | 50 ++++++++++++----
src/node_device/node_device_driver.h | 2 -
src/node_device/node_device_hal.c | 39 +++++-------
src/node_device/node_device_linux_sysfs.c | 99 +++++++++++++++++++++++++++++--
src/node_device/node_device_linux_sysfs.h | 32 ++++++++++
src/node_device/node_device_udev.c | 70 +++++++---------------
src/qemu/qemu_driver.c | 2 +-
src/test/test_driver.c | 6 +-
src/xen/xen_driver.c | 4 +-
13 files changed, 247 insertions(+), 132 deletions(-)
create mode 100644 src/node_device/node_device_linux_sysfs.h