diff options
author | Mike Christie <mchristi@redhat.com> | 2017-01-13 13:47:48 +0300 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-02-19 08:36:50 +0300 |
commit | 0ab8ac6f504d61b59856bd34e62bbfd60edd2bb0 (patch) | |
tree | 7db286b7de7dd9e3347133dfcdd03f70e9b547af /drivers/target | |
parent | 6cb3216a7863fd13fb125f0867fce55c2bbd8c8e (diff) | |
download | linux-0ab8ac6f504d61b59856bd34e62bbfd60edd2bb0.tar.xz |
target: export protocol identifier
I think the transport statistics device file was supposed
to show scsiTransportProtocolType. It instead shows the
fabric name which is normally closer to the driver name.
I was thinking I cannot change from fabric name to protocol
type name incase people are expecting the driver name, so
this patch adds another file proto_id that exports the SCSI
protocol identifier ID.
Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_stat.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/target/target_core_stat.c b/drivers/target/target_core_stat.c index 1a39033d2bff..be380e4acfcd 100644 --- a/drivers/target/target_core_stat.c +++ b/drivers/target/target_core_stat.c @@ -795,16 +795,34 @@ static ssize_t target_stat_transport_dev_name_show(struct config_item *item, return ret; } +static ssize_t target_stat_transport_proto_id_show(struct config_item *item, + char *page) +{ + struct se_lun *lun = to_transport_stat(item); + struct se_device *dev; + struct se_portal_group *tpg = lun->lun_tpg; + ssize_t ret = -ENODEV; + + rcu_read_lock(); + dev = rcu_dereference(lun->lun_se_dev); + if (dev) + ret = snprintf(page, PAGE_SIZE, "%u\n", tpg->proto_id); + rcu_read_unlock(); + return ret; +} + CONFIGFS_ATTR_RO(target_stat_transport_, inst); CONFIGFS_ATTR_RO(target_stat_transport_, device); CONFIGFS_ATTR_RO(target_stat_transport_, indx); CONFIGFS_ATTR_RO(target_stat_transport_, dev_name); +CONFIGFS_ATTR_RO(target_stat_transport_, proto_id); static struct configfs_attribute *target_stat_scsi_transport_attrs[] = { &target_stat_transport_attr_inst, &target_stat_transport_attr_device, &target_stat_transport_attr_indx, &target_stat_transport_attr_dev_name, + &target_stat_transport_attr_proto_id, NULL, }; |