The scsi generic device is listed as a child of the parent
of the mapped disk device. E.g.
+- pci_0000_00_1f_2
| |
| +- scsi_host0
| | |
| | +- scsi_target0_0_0
| | |
| | +- scsi_0_0_0_0
| | |
| | +- block_sda_TOSHIBA_MK5061GSY_9243PG8CT
| | +- scsi_generic_sg0
This is consistent with the sysfs/udev.
The XML produced by udev backend:
<device>
<name>scsi_generic_sg0</name>
<path>/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path>
<parent>scsi_0_0_0_0</parent>
<capability type='scsi_generic'>
<char>/dev/sg0</char>
</capability>
</device>
The XML produced by HAL backend:
<device>
<name>pci_8086_2922_scsi_host_scsi_device_lun0_scsi_generic</name>
<path>/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0</path>
<parent>pci_8086_2922_scsi_host_scsi_device_lun0</parent>
<capability type='scsi_generic'>
<char>/dev/sg0</char>
</capability>
</device>
Osier Yang (6):
nodedev: Expose sysfs path of device
nodedev_udev: Refactor udevGetDeviceType
nodedev_udev: Enumerate scsi generic device
nodedev_hal: Enumerate scsi generic device
nodedev: Support SCSI_GENERIC cap flag for listAllNodeDevices
virsh: Support SCSI_GENERIC cap flag for nodedev-list
include/libvirt/libvirt.h.in | 1 +
src/conf/node_device_conf.c | 11 ++-
src/conf/node_device_conf.h | 8 ++-
src/node_device/node_device_hal.c | 9 +++
src/node_device/node_device_udev.c | 137 ++++++++++++++++++++-----------------
tools/virsh-nodedev.c | 3 +
tools/virsh.pod | 6 +-
7 files changed, 105 insertions(+), 70 deletions(-)
--
1.8.1.4