This first version of this series was reviewed quite a while ago and all patches were ACKed except the second one. I posted a second series with changes noted below but it was never ACKed and I dropped the ball for a little while. Subsequently there were questions about whether physical devices (e.g. pci, usb, etc) should return 'true' or 'false' for the GetAutostart()/IsPersistent() calls. I had initially marked them as persistent=true and autostart=true because they superficially act a bit like persistently-defined devices. But Boris convinced me that this is not a very accurate classification since if the physical device is unplugged, there will be no record of it left behind. So I've switched all non-mdev devices to be persistent=false and autostart=false. This is also imperfect, but it seems relatively harmless. Comments welcome. A reminder of what is included in this series: - new API consistent with existing libvirt objects: - virNodeDeviceGetAutostart() - virNodeDeviceSetAutostart() - virNodeDeviceIsPersistent() - virNodeDeviceIsActive - new virsh commands - nodedev-info - nodedev-autostart Changes in version 2: - Parse the autostart property from mdevctl output. Changes in version 3: - switch physical devices to autostart=false, persistent=false - rebase to upstream - update version numbers for new API, etc - fix accidental copy-paste error in virsh command descriptions Jonathon Jongsma (7): api: add virNodeDevice(Get|Set)Autostart() nodedev: implement virNodeDevice(Get|Set)Autostart() nodedev: Add tests for mdevctl autostart command virsh: add nodedev-autostart api: add virNodeDeviceIsPersistent()/IsActive() nodedev: Implement virNodeDeviceIsPersistent()/IsActive() virsh: add nodedev-info docs/manpages/virsh.rst | 27 +++ include/libvirt/libvirt-nodedev.h | 10 + src/conf/node_device_conf.h | 1 + src/conf/virnodedeviceobj.c | 16 ++ src/conf/virnodedeviceobj.h | 6 + src/driver-nodedev.h | 18 ++ src/libvirt-nodedev.c | 141 +++++++++++++ src/libvirt_private.syms | 2 + src/libvirt_public.syms | 4 + src/node_device/node_device_driver.c | 189 +++++++++++++++++- src/node_device/node_device_driver.h | 19 ++ src/node_device/node_device_udev.c | 22 +- src/remote/remote_driver.c | 6 +- src/remote/remote_protocol.x | 60 +++++- src/remote_protocol-structs | 26 +++ .../nodedevmdevctldata/mdevctl-autostart.argv | 8 + tests/nodedevmdevctltest.c | 55 +++++ tools/virsh-nodedev.c | 139 +++++++++++++ 18 files changed, 740 insertions(+), 9 deletions(-) create mode 100644 tests/nodedevmdevctldata/mdevctl-autostart.argv -- 2.31.1