scsi_transport_sas: add 'scsi_target_id' sysfs attribute
authorHannes Reinecke <hare@suse.de>
Mon, 14 Mar 2016 09:43:08 +0000 (10:43 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 15 Mar 2016 01:05:04 +0000 (21:05 -0400)
There is no way to detect the scsi_target_id for any given SAS remote
port, so add a new sysfs attribute 'scsi_target_id'.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Manoj Kumar <manoj@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_sas_internal.h
drivers/scsi/scsi_transport_sas.c

index 6266a5d..e659912 100644 (file)
@@ -4,7 +4,7 @@
 #define SAS_HOST_ATTRS         0
 #define SAS_PHY_ATTRS          17
 #define SAS_PORT_ATTRS         1
-#define SAS_RPORT_ATTRS                7
+#define SAS_RPORT_ATTRS                8
 #define SAS_END_DEV_ATTRS      5
 #define SAS_EXPANDER_ATTRS     7
 
index 80520e2..b6f9581 100644 (file)
@@ -1286,6 +1286,7 @@ sas_rphy_protocol_attr(identify.target_port_protocols, target_port_protocols);
 sas_rphy_simple_attr(identify.sas_address, sas_address, "0x%016llx\n",
                unsigned long long);
 sas_rphy_simple_attr(identify.phy_identifier, phy_identifier, "%d\n", u8);
+sas_rphy_simple_attr(scsi_target_id, scsi_target_id, "%d\n", u32);
 
 /* only need 8 bytes of data plus header (4 or 8) */
 #define BUF_SIZE 64
@@ -1886,6 +1887,7 @@ sas_attach_transport(struct sas_function_template *ft)
        SETUP_RPORT_ATTRIBUTE(rphy_device_type);
        SETUP_RPORT_ATTRIBUTE(rphy_sas_address);
        SETUP_RPORT_ATTRIBUTE(rphy_phy_identifier);
+       SETUP_RPORT_ATTRIBUTE(rphy_scsi_target_id);
        SETUP_OPTIONAL_RPORT_ATTRIBUTE(rphy_enclosure_identifier,
                                       get_enclosure_identifier);
        SETUP_OPTIONAL_RPORT_ATTRIBUTE(rphy_bay_identifier,