lkml.org 
[lkml]   [2010]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/3] tcm: Add native 32-byte CDB support
Date
From: Nicholas Bellinger <nab@linux-iscsi.org>

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@linux-iscsi.org>

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(-)



\
 
 \ /
  Last update: 2010-09-17 07:37    [W:0.032 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site