The parent/child relationships in the udev node device backend are
really kind of gross. If the parent of a device doesn't exist in the
libvirt node device tree, the current code sets the parent to the root
"computer" node. The result is that we have a lot of devices hanging
directly off the root node and relationships like scsi target to scsi
hba are broken.
The attached patch simply changes the behavior to keep walking up the
udev device tree until it finds an ancestor that exists in the libvirt
node device tree, or until it actually reaches the root of the tree.
The resulting tree is a lot cleaner and more informative, especially
on systems with lots of devices.
David Allan (1):
Improve nodedev parent/child relationships
src/node_device/node_device_udev.c | 54 ++++++++++++++++++++++--------------
1 files changed, 33 insertions(+), 21 deletions(-)