RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-04 Thread Hefty, Sean
 InfiniBandInfiniBand  InfiniBand Verbs
 iWARP InfiniBand  iWARP Verbs (subset of IBV, with
   specific connection establishment
   requirements that don't exist with IBV)
 RoCE  EthernetInfiniBand Verbs (but with different
   addressing because of the different
   link layer)
 OPA   OPA InfiniBand Verbs

Verbs is an interface definition to hardware that has been twisted to be a 
software API and extended to expose vendor-specific implementation 'features' 
as extensions.  It is not a transport.

The device capability bits seems to have evolved to mean: vendor A implemented 
some random 'feature' in their hardware and wants all applications to now check 
for this 'feature' and change their code to use it.  Basically, what gets 
defined as a device cap is rather arbitrary.

- Sean


RE: [PATCH v4 14/19] IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag

2015-03-04 Thread Weiny, Ira
 
  InfiniBand  InfiniBand  InfiniBand Verbs
  iWARP   InfiniBand  iWARP Verbs (subset of IBV, with
  specific connection establishment
  requirements that don't exist with IBV)
  RoCEEthernetInfiniBand Verbs (but with different
  addressing because of the different
  link layer)
  OPA OPA InfiniBand Verbs
 
 Verbs is an interface definition to hardware that has been twisted to be a
 software API and extended to expose vendor-specific implementation 'features'
 as extensions.  It is not a transport.
 
 The device capability bits seems to have evolved to mean: vendor A
 implemented some random 'feature' in their hardware and wants all
 applications to now check for this 'feature' and change their code to use it.
 Basically, what gets defined as a device cap is rather arbitrary.
 

This was the point I was trying to make and the reason the OPA MAD support was 
implemented as a device capability.

Ira



Re: [PATCH, resend] IB/srp: Add 64-bit LUN support

2015-03-04 Thread Bart Van Assche
On 03/04/15 14:16, Yann Droneaud wrote:
 Le mercredi 04 mars 2015 à 11:01 +0100, Bart Van Assche a écrit :
 diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
 b/drivers/infiniband/ulp/srp/ib_srp.c
 index a0e24a8..e427454 100644
 --- a/drivers/infiniband/ulp/srp/ib_srp.c
 +++ b/drivers/infiniband/ulp/srp/ib_srp.c
 @@ -3146,7 +3146,7 @@ static ssize_t srp_create_target(struct device *dev,
  target_host-transportt  = ib_srp_transport_template;
  target_host-max_channel = 0;
  target_host-max_id  = 1;
 -target_host-max_lun = SRP_MAX_LUN;
 +target_host-max_lun = -1LL;
 
 I guess you can remove SRP_MAX_LUN from
 drivers/infiniband/ulp/srp/ib_srp.h too.

Hello Yann,

That sounds like a good idea to me. I will update this patch accordingly.

Bart.

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] IB/srp: Add 64-bit LUN support

2015-03-04 Thread Bart Van Assche
The SCSI standard defines 64-bit values for LUNs. Large arrays
employing large or hierarchical LUN numbers become more and more
common. So update the SRP initiator to use 64-bit LUN numbers.
See also Hannes Reinecke, commit 9cb78c16f5da (scsi: use 64-bit LUNs),
June 2014.

The largest LUN number that has been tested is 0xd2003fff.

The following structure sizes have been verified with gdb:
* sizeof(struct srp_cmd) = 48
* sizeof(struct srp_tsk_mgmt) = 48
* sizeof(struct srp_aer_req) = 36

The ibmvscsi changes have been compile tested only (on a PPC system).

Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
Reviewed-by: Hannes Reinecke h...@suse.de
Reviewed-by: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
Cc: Brian King brk...@linux.vnet.ibm.com
Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
Cc: Tyrel Datwyler tyr...@linux.vnet.ibm.com
---

Changes compared to v1:
- Removed SRP_MAX_LUN definition from ib_srp.h

 drivers/infiniband/ulp/srp/ib_srp.c | 12 ++--
 drivers/infiniband/ulp/srp/ib_srp.h |  1 -
 drivers/scsi/ibmvscsi/ibmvscsi.c|  6 +++---
 include/scsi/srp.h  |  7 ---
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
b/drivers/infiniband/ulp/srp/ib_srp.c
index a0e24a8..e427454 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1842,7 +1842,7 @@ static void srp_process_aer_req(struct srp_rdma_ch *ch,
s32 delta = be32_to_cpu(req-req_lim_delta);
 
shost_printk(KERN_ERR, target-scsi_host, PFX
-ignoring AER for LUN %llu\n, be64_to_cpu(req-lun));
+ignoring AER for LUN %llu\n, scsilun_to_int(req-lun));
 
if (srp_response_common(ch, delta, rsp, sizeof(rsp)))
shost_printk(KERN_ERR, target-scsi_host, PFX
@@ -2034,7 +2034,7 @@ static int srp_queuecommand(struct Scsi_Host *shost, 
struct scsi_cmnd *scmnd)
memset(cmd, 0, sizeof *cmd);
 
cmd-opcode = SRP_CMD;
-   cmd-lun= cpu_to_be64((u64) scmnd-device-lun  48);
+   int_to_scsilun(scmnd-device-lun, cmd-lun);
cmd-tag= tag;
memcpy(cmd-cdb, scmnd-cmnd, scmnd-cmd_len);
 
@@ -2414,8 +2414,8 @@ srp_change_queue_depth(struct scsi_device *sdev, int 
qdepth)
return scsi_change_queue_depth(sdev, qdepth);
 }
 
-static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag,
-unsigned int lun, u8 func)
+static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag, u64 lun,
+u8 func)
 {
struct srp_target_port *target = ch-target;
struct srp_rport *rport = target-rport;
@@ -2449,7 +2449,7 @@ static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 
req_tag,
memset(tsk_mgmt, 0, sizeof *tsk_mgmt);
 
tsk_mgmt-opcode= SRP_TSK_MGMT;
-   tsk_mgmt-lun   = cpu_to_be64((u64) lun  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tag   = req_tag | SRP_TAG_TSK_MGMT;
tsk_mgmt-tsk_mgmt_func = func;
tsk_mgmt-task_tag  = req_tag;
@@ -3146,7 +3146,7 @@ static ssize_t srp_create_target(struct device *dev,
target_host-transportt  = ib_srp_transport_template;
target_host-max_channel = 0;
target_host-max_id  = 1;
-   target_host-max_lun = SRP_MAX_LUN;
+   target_host-max_lun = -1LL;
target_host-max_cmd_len = sizeof ((struct srp_cmd *) (void *) 0L)-cdb;
 
target = host_to_target(target_host);
diff --git a/drivers/infiniband/ulp/srp/ib_srp.h 
b/drivers/infiniband/ulp/srp/ib_srp.h
index a611556..ce6dcf8 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.h
+++ b/drivers/infiniband/ulp/srp/ib_srp.h
@@ -54,7 +54,6 @@ enum {
SRP_DLID_REDIRECT   = 2,
SRP_STALE_CONN  = 3,
 
-   SRP_MAX_LUN = 512,
SRP_DEF_SG_TABLESIZE= 12,
 
SRP_DEFAULT_QUEUE_SIZE  = 1  6,
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index acea5d6..6a41c36 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1053,7 +1053,7 @@ static int ibmvscsi_queuecommand_lck(struct scsi_cmnd 
*cmnd,
memset(srp_cmd, 0x00, SRP_MAX_IU_LEN);
srp_cmd-opcode = SRP_CMD;
memcpy(srp_cmd-cdb, cmnd-cmnd, sizeof(srp_cmd-cdb));
-   srp_cmd-lun = cpu_to_be64(((u64)lun)  48);
+   int_to_scsilun(lun, srp_cmd-lun);
 
if (!map_data_for_srp_cmd(cmnd, evt_struct, srp_cmd, hostdata-dev)) {
if (!firmware_has_feature(FW_FEATURE_CMO))
@@ -1529,7 +1529,7 @@ static int ibmvscsi_eh_abort_handler(struct scsi_cmnd 
*cmd)
/* Set up an abort SRP command */
memset(tsk_mgmt, 0x00, sizeof(*tsk_mgmt));
tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun = cpu_to_be64(((u64) lun)  48);
+   

[PATCH, resend] IB/srp: Add 64-bit LUN support

2015-03-04 Thread Bart Van Assche
The SCSI standard defines 64-bit values for LUNs. Large arrays
employing large or hierarchical LUN numbers become more and more
common. So update the SRP initiator to use 64-bit LUN numbers.
See also Hannes Reinecke, commit 9cb78c16f5da (scsi: use 64-bit LUNs),
June 2014.

The largest LUN number that has been tested is 0xd2003fff.

Checked the following structure sizes with gdb:
* sizeof(struct srp_cmd) = 48
* sizeof(struct srp_tsk_mgmt) = 48
* sizeof(struct srp_aer_req) = 36

The ibmvscsi changes have been compile tested only on a PPC system.

Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
Reviewed-by: Hannes Reinecke h...@suse.de
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
Cc: Brian King brk...@linux.vnet.ibm.com
Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
Cc: Tyrel Datwyler tyr...@linux.vnet.ibm.com
---
 drivers/infiniband/ulp/srp/ib_srp.c | 12 ++--
 drivers/scsi/ibmvscsi/ibmvscsi.c|  6 +++---
 include/scsi/srp.h  |  7 ---
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
b/drivers/infiniband/ulp/srp/ib_srp.c
index a0e24a8..e427454 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1842,7 +1842,7 @@ static void srp_process_aer_req(struct srp_rdma_ch *ch,
s32 delta = be32_to_cpu(req-req_lim_delta);
 
shost_printk(KERN_ERR, target-scsi_host, PFX
-ignoring AER for LUN %llu\n, be64_to_cpu(req-lun));
+ignoring AER for LUN %llu\n, scsilun_to_int(req-lun));
 
if (srp_response_common(ch, delta, rsp, sizeof(rsp)))
shost_printk(KERN_ERR, target-scsi_host, PFX
@@ -2034,7 +2034,7 @@ static int srp_queuecommand(struct Scsi_Host *shost, 
struct scsi_cmnd *scmnd)
memset(cmd, 0, sizeof *cmd);
 
cmd-opcode = SRP_CMD;
-   cmd-lun= cpu_to_be64((u64) scmnd-device-lun  48);
+   int_to_scsilun(scmnd-device-lun, cmd-lun);
cmd-tag= tag;
memcpy(cmd-cdb, scmnd-cmnd, scmnd-cmd_len);
 
@@ -2414,8 +2414,8 @@ srp_change_queue_depth(struct scsi_device *sdev, int 
qdepth)
return scsi_change_queue_depth(sdev, qdepth);
 }
 
-static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag,
-unsigned int lun, u8 func)
+static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag, u64 lun,
+u8 func)
 {
struct srp_target_port *target = ch-target;
struct srp_rport *rport = target-rport;
@@ -2449,7 +2449,7 @@ static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 
req_tag,
memset(tsk_mgmt, 0, sizeof *tsk_mgmt);
 
tsk_mgmt-opcode= SRP_TSK_MGMT;
-   tsk_mgmt-lun   = cpu_to_be64((u64) lun  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tag   = req_tag | SRP_TAG_TSK_MGMT;
tsk_mgmt-tsk_mgmt_func = func;
tsk_mgmt-task_tag  = req_tag;
@@ -3146,7 +3146,7 @@ static ssize_t srp_create_target(struct device *dev,
target_host-transportt  = ib_srp_transport_template;
target_host-max_channel = 0;
target_host-max_id  = 1;
-   target_host-max_lun = SRP_MAX_LUN;
+   target_host-max_lun = -1LL;
target_host-max_cmd_len = sizeof ((struct srp_cmd *) (void *) 0L)-cdb;
 
target = host_to_target(target_host);
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index acea5d6..6a41c36 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1053,7 +1053,7 @@ static int ibmvscsi_queuecommand_lck(struct scsi_cmnd 
*cmnd,
memset(srp_cmd, 0x00, SRP_MAX_IU_LEN);
srp_cmd-opcode = SRP_CMD;
memcpy(srp_cmd-cdb, cmnd-cmnd, sizeof(srp_cmd-cdb));
-   srp_cmd-lun = cpu_to_be64(((u64)lun)  48);
+   int_to_scsilun(lun, srp_cmd-lun);
 
if (!map_data_for_srp_cmd(cmnd, evt_struct, srp_cmd, hostdata-dev)) {
if (!firmware_has_feature(FW_FEATURE_CMO))
@@ -1529,7 +1529,7 @@ static int ibmvscsi_eh_abort_handler(struct scsi_cmnd 
*cmd)
/* Set up an abort SRP command */
memset(tsk_mgmt, 0x00, sizeof(*tsk_mgmt));
tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun = cpu_to_be64(((u64) lun)  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tsk_mgmt_func = SRP_TSK_ABORT_TASK;
tsk_mgmt-task_tag = (u64) found_evt;
 
@@ -1652,7 +1652,7 @@ static int ibmvscsi_eh_device_reset_handler(struct 
scsi_cmnd *cmd)
/* Set up a lun reset SRP command */
memset(tsk_mgmt, 0x00, sizeof(*tsk_mgmt));
tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun = cpu_to_be64(((u64) lun)  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tsk_mgmt_func = SRP_TSK_LUN_RESET;
 
 

Re: [PATCH, resend] IB/srp: Add 64-bit LUN support

2015-03-04 Thread Sagi Grimberg

On 3/4/2015 12:01 PM, Bart Van Assche wrote:

The SCSI standard defines 64-bit values for LUNs. Large arrays
employing large or hierarchical LUN numbers become more and more
common. So update the SRP initiator to use 64-bit LUN numbers.
See also Hannes Reinecke, commit 9cb78c16f5da (scsi: use 64-bit LUNs),
June 2014.

The largest LUN number that has been tested is 0xd2003fff.

Checked the following structure sizes with gdb:
* sizeof(struct srp_cmd) = 48
* sizeof(struct srp_tsk_mgmt) = 48
* sizeof(struct srp_aer_req) = 36

The ibmvscsi changes have been compile tested only on a PPC system.

Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
Reviewed-by: Hannes Reinecke h...@suse.de
Cc: Sagi Grimberg sa...@mellanox.com
Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
Cc: Brian King brk...@linux.vnet.ibm.com
Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
Cc: Tyrel Datwyler tyr...@linux.vnet.ibm.com
---
  drivers/infiniband/ulp/srp/ib_srp.c | 12 ++--
  drivers/scsi/ibmvscsi/ibmvscsi.c|  6 +++---
  include/scsi/srp.h  |  7 ---
  3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
b/drivers/infiniband/ulp/srp/ib_srp.c
index a0e24a8..e427454 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1842,7 +1842,7 @@ static void srp_process_aer_req(struct srp_rdma_ch *ch,
s32 delta = be32_to_cpu(req-req_lim_delta);

shost_printk(KERN_ERR, target-scsi_host, PFX
-ignoring AER for LUN %llu\n, be64_to_cpu(req-lun));
+ignoring AER for LUN %llu\n, scsilun_to_int(req-lun));

if (srp_response_common(ch, delta, rsp, sizeof(rsp)))
shost_printk(KERN_ERR, target-scsi_host, PFX
@@ -2034,7 +2034,7 @@ static int srp_queuecommand(struct Scsi_Host *shost, 
struct scsi_cmnd *scmnd)
memset(cmd, 0, sizeof *cmd);

cmd-opcode = SRP_CMD;
-   cmd-lun= cpu_to_be64((u64) scmnd-device-lun  48);
+   int_to_scsilun(scmnd-device-lun, cmd-lun);
cmd-tag= tag;
memcpy(cmd-cdb, scmnd-cmnd, scmnd-cmd_len);

@@ -2414,8 +2414,8 @@ srp_change_queue_depth(struct scsi_device *sdev, int 
qdepth)
return scsi_change_queue_depth(sdev, qdepth);
  }

-static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag,
-unsigned int lun, u8 func)
+static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 req_tag, u64 lun,
+u8 func)
  {
struct srp_target_port *target = ch-target;
struct srp_rport *rport = target-rport;
@@ -2449,7 +2449,7 @@ static int srp_send_tsk_mgmt(struct srp_rdma_ch *ch, u64 
req_tag,
memset(tsk_mgmt, 0, sizeof *tsk_mgmt);

tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun= cpu_to_be64((u64) lun  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tag= req_tag | SRP_TAG_TSK_MGMT;
tsk_mgmt-tsk_mgmt_func = func;
tsk_mgmt-task_tag   = req_tag;
@@ -3146,7 +3146,7 @@ static ssize_t srp_create_target(struct device *dev,
target_host-transportt  = ib_srp_transport_template;
target_host-max_channel = 0;
target_host-max_id  = 1;
-   target_host-max_lun = SRP_MAX_LUN;
+   target_host-max_lun = -1LL;
target_host-max_cmd_len = sizeof ((struct srp_cmd *) (void *) 0L)-cdb;

target = host_to_target(target_host);
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
index acea5d6..6a41c36 100644
--- a/drivers/scsi/ibmvscsi/ibmvscsi.c
+++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
@@ -1053,7 +1053,7 @@ static int ibmvscsi_queuecommand_lck(struct scsi_cmnd 
*cmnd,
memset(srp_cmd, 0x00, SRP_MAX_IU_LEN);
srp_cmd-opcode = SRP_CMD;
memcpy(srp_cmd-cdb, cmnd-cmnd, sizeof(srp_cmd-cdb));
-   srp_cmd-lun = cpu_to_be64(((u64)lun)  48);
+   int_to_scsilun(lun, srp_cmd-lun);

if (!map_data_for_srp_cmd(cmnd, evt_struct, srp_cmd, hostdata-dev)) {
if (!firmware_has_feature(FW_FEATURE_CMO))
@@ -1529,7 +1529,7 @@ static int ibmvscsi_eh_abort_handler(struct scsi_cmnd 
*cmd)
/* Set up an abort SRP command */
memset(tsk_mgmt, 0x00, sizeof(*tsk_mgmt));
tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun = cpu_to_be64(((u64) lun)  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
tsk_mgmt-tsk_mgmt_func = SRP_TSK_ABORT_TASK;
tsk_mgmt-task_tag = (u64) found_evt;

@@ -1652,7 +1652,7 @@ static int ibmvscsi_eh_device_reset_handler(struct 
scsi_cmnd *cmd)
/* Set up a lun reset SRP command */
memset(tsk_mgmt, 0x00, sizeof(*tsk_mgmt));
tsk_mgmt-opcode = SRP_TSK_MGMT;
-   tsk_mgmt-lun = cpu_to_be64(((u64) lun)  48);
+   int_to_scsilun(lun, tsk_mgmt-lun);
   

Re: [PATCH, resend] IB/srp: Add 64-bit LUN support

2015-03-04 Thread Yann Droneaud
Hi,

Le mercredi 04 mars 2015 à 11:01 +0100, Bart Van Assche a écrit :
 The SCSI standard defines 64-bit values for LUNs. Large arrays
 employing large or hierarchical LUN numbers become more and more
 common. So update the SRP initiator to use 64-bit LUN numbers.
 See also Hannes Reinecke, commit 9cb78c16f5da (scsi: use 64-bit LUNs),
 June 2014.
 

Thanks for the added description.

 The largest LUN number that has been tested is 0xd2003fff.
 
 Checked the following structure sizes with gdb:
 * sizeof(struct srp_cmd) = 48
 * sizeof(struct srp_tsk_mgmt) = 48
 * sizeof(struct srp_aer_req) = 36
 
 The ibmvscsi changes have been compile tested only on a PPC system.
 
 Signed-off-by: Bart Van Assche bart.vanass...@sandisk.com
 Reviewed-by: Hannes Reinecke h...@suse.de
 Cc: Sagi Grimberg sa...@mellanox.com
 Cc: Sebastian Parschauer sebastian.rie...@profitbricks.com
 Cc: Brian King brk...@linux.vnet.ibm.com
 Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
 Cc: Tyrel Datwyler tyr...@linux.vnet.ibm.com
 ---
  drivers/infiniband/ulp/srp/ib_srp.c | 12 ++--
  drivers/scsi/ibmvscsi/ibmvscsi.c|  6 +++---
  include/scsi/srp.h  |  7 ---
  3 files changed, 13 insertions(+), 12 deletions(-)
 
 diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
 b/drivers/infiniband/ulp/srp/ib_srp.c
 index a0e24a8..e427454 100644
 --- a/drivers/infiniband/ulp/srp/ib_srp.c
 +++ b/drivers/infiniband/ulp/srp/ib_srp.c
 @@ -3146,7 +3146,7 @@ static ssize_t srp_create_target(struct device *dev,
   target_host-transportt  = ib_srp_transport_template;
   target_host-max_channel = 0;
   target_host-max_id  = 1;
 - target_host-max_lun = SRP_MAX_LUN;
 + target_host-max_lun = -1LL;

I guess you can remove SRP_MAX_LUN from
drivers/infiniband/ulp/srp/ib_srp.h too.

   target_host-max_cmd_len = sizeof ((struct srp_cmd *) (void *) 0L)-cdb;
  
   target = host_to_target(target_host);

 diff --git a/include/scsi/srp.h b/include/scsi/srp.h
 index 1ae84db..5be834d 100644
 --- a/include/scsi/srp.h
 +++ b/include/scsi/srp.h
 @@ -42,6 +42,7 @@
   */
  
  #include linux/types.h
 +#include scsi/scsi.h
  
  enum {
   SRP_LOGIN_REQ   = 0x00,

@@ -54,7 +54,6 @@ enum {
SRP_DLID_REDIRECT   = 2,
SRP_STALE_CONN  = 3,
 
-   SRP_MAX_LUN = 512,
SRP_DEF_SG_TABLESIZE= 12,
 
SRP_DEFAULT_QUEUE_SIZE  = 1  6,


Regards.

-- 
Yann Droneaud
OPTEYA


--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html