diff options
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
| -rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 59d427bf08e..0a74b975efd 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -2503,6 +2503,15 @@ show_priv_session_creator(struct device *dev, struct device_attribute *attr,  }  static ISCSI_CLASS_ATTR(priv_sess, creator, S_IRUGO, show_priv_session_creator,  			NULL); +static ssize_t +show_priv_session_target_id(struct device *dev, struct device_attribute *attr, +			    char *buf) +{ +	struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); +	return sprintf(buf, "%d\n", session->target_id); +} +static ISCSI_CLASS_ATTR(priv_sess, target_id, S_IRUGO, +			show_priv_session_target_id, NULL);  #define iscsi_priv_session_attr_show(field, format)			\  static ssize_t								\ @@ -2575,6 +2584,7 @@ static struct attribute *iscsi_session_attrs[] = {  	&dev_attr_priv_sess_creator.attr,  	&dev_attr_sess_chap_out_idx.attr,  	&dev_attr_sess_chap_in_idx.attr, +	&dev_attr_priv_sess_target_id.attr,  	NULL,  }; @@ -2638,6 +2648,8 @@ static umode_t iscsi_session_attr_is_visible(struct kobject *kobj,  		return S_IRUGO;  	else if (attr == &dev_attr_priv_sess_creator.attr)  		return S_IRUGO; +	else if (attr == &dev_attr_priv_sess_target_id.attr) +		return S_IRUGO;  	else {  		WARN_ONCE(1, "Invalid session attr");  		return 0;  |