On 4/30/20 11:42 PM, Jonathon Jongsma wrote:
This is the first portion of an effort to support persistent mediated devices with libvirt. This first series simply enables creating and destroying non-persistent mediated devices via the virNodeDeviceCreateXML() and virNodeDeviceDestroy() functions. The 'mdevctl' utility[1] provides the backend implementation. [1] https://github.com/mdevctl/mdevctl Jonathon Jongsma (6): nodedev: factor out nodeDeviceHasCapability() nodedev: add support for mdev attributes nodedev: refactor nodeDeviceFindNewDevice() nodedev: store mdev UUID in mdev caps nodedev: add mdev support to virNodeDeviceCreateXML() nodedev: add mdev support to virNodeDeviceDestroy() docs/schemas/nodedev.rng | 6 + libvirt.spec.in | 3 + m4/virt-external-programs.m4 | 3 + src/conf/node_device_conf.c | 59 ++++- src/conf/node_device_conf.h | 3 + src/conf/virnodedeviceobj.c | 34 +++ src/conf/virnodedeviceobj.h | 3 + src/libvirt_private.syms | 3 + src/node_device/node_device_driver.c | 326 ++++++++++++++++++++++++--- src/node_device/node_device_udev.c | 5 +- src/util/virmdev.c | 12 + src/util/virmdev.h | 11 + 12 files changed, 425 insertions(+), 43 deletions(-)
Codewise, this looks good. I will let Erik review the semantics of creating mdevs.
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal