]> xenbits.xensource.com Git - libvirt.git/commitdiff
nodedev_hal: Enumerate scsi generic device
authorOsier Yang <jyang@redhat.com>
Mon, 3 Jun 2013 10:05:33 +0000 (18:05 +0800)
committerOsier Yang <jyang@redhat.com>
Tue, 18 Jun 2013 09:17:11 +0000 (17:17 +0800)
The xml outputed by HAL backend for scsi generic device:

<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>

src/node_device/node_device_hal.c

index 99b5044810a53148746384905f3c8a675f9e471e..794f923ff923936349b89a57424170fe292843c5 100644 (file)
@@ -303,6 +303,14 @@ gather_storage_cap(LibHalContext *ctx, const char *udi,
     return 0;
 }
 
+static int
+gather_scsi_generic_cap(LibHalContext *ctx, const char *udi,
+                        union _virNodeDevCapData *d)
+{
+    (void)get_str_prop(ctx, udi, "scsi_generic.device", &d->sg.path);
+    return 0;
+}
+
 
 static int
 gather_system_cap(LibHalContext *ctx, const char *udi,
@@ -350,6 +358,7 @@ static caps_tbl_entry caps_tbl[] = {
     { "scsi_host",  VIR_NODE_DEV_CAP_SCSI_HOST,     gather_scsi_host_cap },
     { "scsi",       VIR_NODE_DEV_CAP_SCSI,          gather_scsi_cap },
     { "storage",    VIR_NODE_DEV_CAP_STORAGE,       gather_storage_cap },
+    { "scsi_generic", VIR_NODE_DEV_CAP_SCSI_GENERIC, gather_scsi_generic_cap },
 };