[libvirt PATCH v4 00/12] Add ability to create mediated devices in libvirt

Jonathon Jongsma jjongsma at redhat.com
Thu Jun 18 21:05:53 UTC 2020


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.

Hopefully these are the last changes and version can simply be pushed upstream.

Changes in v4:
 - coding style / spacing fixes
 - remove 'persist' arg from start command
 - fixed distcheck failure by including test data dir in EXTRA_DIST
 - Add an item to NEWS.rst

[1] https://github.com/mdevctl/mdevctl

Jonathon Jongsma (12):
  nodedev: make iommuGroup optional for mdevs
  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: Build a non-loadable driver lib
  nodedev: Add testing for 'mdevctl start'
  nodedev: add mdev support to virNodeDeviceDestroy()
  nodedev: Add testing for 'mdevctl stop'
  docs: note node device fields that are read-only
  news: mediated devices can be created

 NEWS.rst                                      |   7 +
 build-aux/syntax-check.mk                     |   2 +-
 docs/formatnode.html.in                       |  21 +-
 docs/schemas/nodedev.rng                      |  18 +-
 libvirt.spec.in                               |   2 +
 m4/virt-external-programs.m4                  |   3 +
 src/conf/node_device_conf.c                   |  68 +++-
 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/Makefile.inc.am               |  23 +-
 src/node_device/node_device_driver.c          | 360 ++++++++++++++++--
 src/node_device/node_device_driver.h          |   7 +
 src/node_device/node_device_udev.c            |   5 +-
 src/util/virmdev.c                            |  12 +
 src/util/virmdev.h                            |  11 +
 tests/Makefile.am                             |  15 +
 ...019_36ea_4111_8f0a_8c9a70e21366-start.argv |   1 +
 ...019_36ea_4111_8f0a_8c9a70e21366-start.json |   1 +
 ...d39_495e_4243_ad9f_beb3f14c23d9-start.argv |   1 +
 ...d39_495e_4243_ad9f_beb3f14c23d9-start.json |   1 +
 ...916_1ca8_49ac_b176_871d16c13076-start.argv |   1 +
 ...916_1ca8_49ac_b176_871d16c13076-start.json |   1 +
 tests/nodedevmdevctldata/mdevctl-stop.argv    |   1 +
 tests/nodedevmdevctltest.c                    | 303 +++++++++++++++
 ...v_d069d019_36ea_4111_8f0a_8c9a70e21366.xml |   7 +
 ...v_d2441d39_495e_4243_ad9f_beb3f14c23d9.xml |   9 +
 ...v_fedc4916_1ca8_49ac_b176_871d16c13076.xml |   8 +
 29 files changed, 863 insertions(+), 68 deletions(-)
 create mode 100644 tests/nodedevmdevctldata/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366-start.argv
 create mode 100644 tests/nodedevmdevctldata/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366-start.json
 create mode 100644 tests/nodedevmdevctldata/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9-start.argv
 create mode 100644 tests/nodedevmdevctldata/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9-start.json
 create mode 100644 tests/nodedevmdevctldata/mdev_fedc4916_1ca8_49ac_b176_871d16c13076-start.argv
 create mode 100644 tests/nodedevmdevctldata/mdev_fedc4916_1ca8_49ac_b176_871d16c13076-start.json
 create mode 100644 tests/nodedevmdevctldata/mdevctl-stop.argv
 create mode 100644 tests/nodedevmdevctltest.c
 create mode 100644 tests/nodedevschemadata/mdev_d069d019_36ea_4111_8f0a_8c9a70e21366.xml
 create mode 100644 tests/nodedevschemadata/mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9.xml
 create mode 100644 tests/nodedevschemadata/mdev_fedc4916_1ca8_49ac_b176_871d16c13076.xml

-- 
2.21.3




More information about the libvir-list mailing list