These patches fix a couple of outstanding issues with mdev support. These include: 1. output proper xml for the mdev parent device when run under the test suite 2. mdevctl allows multiple devices with the same UUID (but different parents), so we have to be prepared to handle this. This also requires a change in nodedev name for mdev devices. From 'mdev_$UUID' to 'mdev_$UUID_$PARENTADDR' 3. validate input xml when defining or creating mdevs (e.g. ensure we have a proper parent device) This patch obsoletes the previous patch titled "nodedev: Handle inactive mdevs with the same UUID" Jonathon Jongsma (7): nodedev: add internal virNodeDeviceObjListFind() nodedev: fix xml output for mdev parents in test suite nodedev: cache parent address in mdev caps nodedev: Add parser validation for node devices nodedev: add PostParse callback for nodedev parsing nodedev: Handle inactive mdevs with the same UUID nodedev: look up mdevs by UUID and parent src/conf/node_device_conf.c | 37 +++- src/conf/node_device_conf.h | 21 +- src/conf/virnodedeviceobj.c | 71 +++++-- src/conf/virnodedeviceobj.h | 15 +- src/hypervisor/domain_driver.c | 7 +- src/libvirt_private.syms | 1 + src/node_device/node_device_driver.c | 182 ++++++++++++++---- src/node_device/node_device_driver.h | 6 + src/node_device/node_device_udev.c | 21 +- src/test/test_driver.c | 6 +- .../mdevctl-list-multiple.out.xml | 16 +- tests/nodedevmdevctltest.c | 36 +++- tests/nodedevxml2xmltest.c | 3 +- 13 files changed, 338 insertions(+), 84 deletions(-) -- 2.31.1