[PATCH 0/5] tcm: Unify subsystem plugin control CDB emulation

From: Nicholas A. Bellinger
Date: Wed Oct 13 2010 - 04:47:55 EST


From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Greetings folks,

This patch series pushes the remaining SPC-3 control path CDB emualation for
INQUIRY, READ_CAPACITY_*, UNMAP and WRITE_SAME w/ UNMAP=1, and SYNCHRONIZE_CACHE_*
subsystem plugin handling into generic TCM code.

It follows Christoph's recommendation to pick off the non SCF_SCSI_DATA_SG_IO_CDB
struct se_tasks before hitting struct se_subsysem_api->do_task(), and removal of
struct se_subsystem_api_cdb initially added in commit 3712c6da407.

So far this has been tested with TCM/IBLOCK and TCM/FILEIO subsystem plugins on
v2.6.36-rc7 x86 HVM with sg_inquiry, sg_readcap, sg_unmap, sg_write_same -[ST] -U,
and sg_sync.

Thanks again go out to hch for pushing for IBLOCK and FILEIO to become drivers/scsi
independent and save yet another ~80 LOC from the v4.0 tree! Thanks Christoph!!!

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

Nicholas Bellinger (5):
tcm: Move transport_emulate_control_cdb() into
__transport_execute_tasks()
tcm: Unify INQUIRY subsystem plugin handling
tcm: Unify READ_CAPACITY_* subsystem plugin handling
tcm: Unify UNMAP and WRITE_SAME w/ UNMAP=1 subsystem plugin handling
tcm: Unify SYNCHRONIZE_CACHE_* subsystem plugin handling

drivers/target/target_core_file.c | 101 +++++++++++------------------
drivers/target/target_core_iblock.c | 113 ++++++++++++--------------------
drivers/target/target_core_rd.c | 89 ++++++++-----------------
drivers/target/target_core_transport.c | 111 ++++++++++++++++---------------
include/target/target_core_transport.h | 48 ++++++++------
5 files changed, 193 insertions(+), 269 deletions(-)

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