diff options
-rw-r--r-- | Documentation/ABI/stable/sysfs-driver-ib_srp | 7 | ||||
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Documentation/ABI/stable/sysfs-driver-ib_srp b/Documentation/ABI/stable/sysfs-driver-ib_srp index 18e9b279ebb1..b95067eb5f18 100644 --- a/Documentation/ABI/stable/sysfs-driver-ib_srp +++ b/Documentation/ABI/stable/sysfs-driver-ib_srp | |||
@@ -155,6 +155,13 @@ Contact: linux-rdma@vger.kernel.org | |||
155 | Description: InfiniBand service ID used for establishing communication with | 155 | Description: InfiniBand service ID used for establishing communication with |
156 | the SRP target. | 156 | the SRP target. |
157 | 157 | ||
158 | What: /sys/class/scsi_host/host<n>/sgid | ||
159 | Date: February 1, 2014 | ||
160 | KernelVersion: 3.13 | ||
161 | Contact: linux-rdma@vger.kernel.org | ||
162 | Description: InfiniBand GID of the source port used for communication with | ||
163 | the SRP target. | ||
164 | |||
158 | What: /sys/class/scsi_host/host<n>/zero_req_lim | 165 | What: /sys/class/scsi_host/host<n>/zero_req_lim |
159 | Date: September 20, 2006 | 166 | Date: September 20, 2006 |
160 | KernelVersion: 2.6.18 | 167 | KernelVersion: 2.6.18 |
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index ebbe01bdd306..62e1f2a1c522 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -1965,6 +1965,14 @@ static ssize_t show_pkey(struct device *dev, struct device_attribute *attr, | |||
1965 | return sprintf(buf, "0x%04x\n", be16_to_cpu(target->path.pkey)); | 1965 | return sprintf(buf, "0x%04x\n", be16_to_cpu(target->path.pkey)); |
1966 | } | 1966 | } |
1967 | 1967 | ||
1968 | static ssize_t show_sgid(struct device *dev, struct device_attribute *attr, | ||
1969 | char *buf) | ||
1970 | { | ||
1971 | struct srp_target_port *target = host_to_target(class_to_shost(dev)); | ||
1972 | |||
1973 | return sprintf(buf, "%pI6\n", target->path.sgid.raw); | ||
1974 | } | ||
1975 | |||
1968 | static ssize_t show_dgid(struct device *dev, struct device_attribute *attr, | 1976 | static ssize_t show_dgid(struct device *dev, struct device_attribute *attr, |
1969 | char *buf) | 1977 | char *buf) |
1970 | { | 1978 | { |
@@ -2049,6 +2057,7 @@ static DEVICE_ATTR(id_ext, S_IRUGO, show_id_ext, NULL); | |||
2049 | static DEVICE_ATTR(ioc_guid, S_IRUGO, show_ioc_guid, NULL); | 2057 | static DEVICE_ATTR(ioc_guid, S_IRUGO, show_ioc_guid, NULL); |
2050 | static DEVICE_ATTR(service_id, S_IRUGO, show_service_id, NULL); | 2058 | static DEVICE_ATTR(service_id, S_IRUGO, show_service_id, NULL); |
2051 | static DEVICE_ATTR(pkey, S_IRUGO, show_pkey, NULL); | 2059 | static DEVICE_ATTR(pkey, S_IRUGO, show_pkey, NULL); |
2060 | static DEVICE_ATTR(sgid, S_IRUGO, show_sgid, NULL); | ||
2052 | static DEVICE_ATTR(dgid, S_IRUGO, show_dgid, NULL); | 2061 | static DEVICE_ATTR(dgid, S_IRUGO, show_dgid, NULL); |
2053 | static DEVICE_ATTR(orig_dgid, S_IRUGO, show_orig_dgid, NULL); | 2062 | static DEVICE_ATTR(orig_dgid, S_IRUGO, show_orig_dgid, NULL); |
2054 | static DEVICE_ATTR(req_lim, S_IRUGO, show_req_lim, NULL); | 2063 | static DEVICE_ATTR(req_lim, S_IRUGO, show_req_lim, NULL); |
@@ -2065,6 +2074,7 @@ static struct device_attribute *srp_host_attrs[] = { | |||
2065 | &dev_attr_ioc_guid, | 2074 | &dev_attr_ioc_guid, |
2066 | &dev_attr_service_id, | 2075 | &dev_attr_service_id, |
2067 | &dev_attr_pkey, | 2076 | &dev_attr_pkey, |
2077 | &dev_attr_sgid, | ||
2068 | &dev_attr_dgid, | 2078 | &dev_attr_dgid, |
2069 | &dev_attr_orig_dgid, | 2079 | &dev_attr_orig_dgid, |
2070 | &dev_attr_req_lim, | 2080 | &dev_attr_req_lim, |