target/loop: Enable VARLEN CDB support
authorIlias Tsitsimpis <iliastsi@arrikto.com>
Thu, 23 Apr 2015 18:30:06 +0000 (21:30 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sun, 31 May 2015 05:41:45 +0000 (22:41 -0700)
Field shost->max_cmd_len is used to inform Linux / the SCSI midlayer of
the maximum CDB size an LLD is capable of handling. Set this field to
SCSI_MAX_VARLEN_CDB_SIZE for target, to enable support for
variable-sized CDBs (0x7E).

Also remove the definition of TL_SCSI_MAX_CMD_LEN since it is now
redundant.

Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Signed-off-by: Vangelis Koukis <vkoukis@arrikto.com>
Reviewed-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/loopback/tcm_loop.c
drivers/target/loopback/tcm_loop.h

index 51f0c895c6a58fd1e93badf13a52e5eae4b64877..b863ce894977b6684ea065c85c8088cadc06e9e6 100644 (file)
@@ -409,7 +409,7 @@ static int tcm_loop_driver_probe(struct device *dev)
        sh->max_id = 2;
        sh->max_lun = 0;
        sh->max_channel = 0;
-       sh->max_cmd_len = TL_SCSI_MAX_CMD_LEN;
+       sh->max_cmd_len = SCSI_MAX_VARLEN_CDB_SIZE;
 
        host_prot = SHOST_DIF_TYPE1_PROTECTION | SHOST_DIF_TYPE2_PROTECTION |
                    SHOST_DIF_TYPE3_PROTECTION | SHOST_DIX_TYPE1_PROTECTION |
index 1e72ff77cac9c3eab83e933d2c5d675edfea483b..433e595e5daad7bc8ccc5ba56d24858a29f6dc28 100644 (file)
@@ -2,11 +2,6 @@
 #define TL_WWN_ADDR_LEN                        256
 #define TL_TPGS_PER_HBA                        32
 
-/*
- * Used in tcm_loop_driver_probe() for struct Scsi_Host->max_cmd_len
- */
-#define TL_SCSI_MAX_CMD_LEN            32
-
 struct tcm_loop_cmd {
        /* State of Linux/SCSI CDB+Data descriptor */
        u32 sc_cmd_state;