[PATCH 0/3] tcm: Add native 32-byte CDB support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Greetings jejb, mkp and Co,

This patch series adds support for native 32-byte CDB processing into TCM Core,
TCM subsystem plugins, and TCM_Loop virtual SCSI LLD.

The first patch adds the new TCM_MAX_COMMAND_SIZE=32 defintion and adds the necessary
LBA + transfer length extraction and generation methods for 32-byte CDBs following
SBC-4.  This includes converting FILEIO, IBLOCK, PSCSI, RAMDISK and STGT subsystem
plugins to use the new TCM_MAX_COMMAND_SIZE value for their own per struct se_task
context descriptor internal inline CDB size defines.

The second patch adds proper VARIABLE_LENGTH_CMD support together with XDWRITE_READ_32
emulation following the recent patch adding support for XDWRITE_READ_10.

And the third and final patch updates the TCM_Loop fabric module to signal the
Linux/SCSI midlayer that we are now capable of processing up to 32-byte CDBs.

Also, I ended up adding support for XDWRITE_READ_32 into Tomo's sgv4-utils.git in
order to test this series.  Please have look and let me know what you think Tomo!

http://linux-iscsi.org/builds/user/nab/0001-sgv4_xdwriteread-Add-support-for-XDWRITEREAD_32.patch

Many thanks to jejb and mkp for answering my questions about > 16 byte CDB support!

Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx>

Nicholas Bellinger (3):
  tcm: Add native 32-byte CDB support
  tcm: Add VARIABLE_LENGTH_CMD support w/ XDWRITE_READ_32 emulation
  tcm_loop: Enable 32-byte CDB support in virtual SCSI LLD

 drivers/target/target_core_file.h       |    2 +-
 drivers/target/target_core_iblock.h     |    2 +-
 drivers/target/target_core_pscsi.c      |    2 +-
 drivers/target/target_core_pscsi.h      |    2 +-
 drivers/target/target_core_rd.h         |    2 +-
 drivers/target/target_core_scdb.c       |   38 ++++++++++++
 drivers/target/target_core_scdb.h       |    2 +
 drivers/target/target_core_stgt.h       |    2 +-
 drivers/target/target_core_transport.c  |   94 +++++++++++++++++++++++++++----
 drivers/target/tcm_loop/tcm_loop_core.h |    2 +-
 include/target/target_core_base.h       |   13 ++++
 11 files changed, 142 insertions(+), 19 deletions(-)

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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux