Skip to contentSkip to conversation

tcm/tcm_loop: Add BIDI support and XDWRITE_READ_10 emulation

PATCH In review Nicholas A. Bellinger 1 participant 1 message Sep 15, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

cover tcm/tcm_loop: Add BIDI support and XDWRITE_READ_10 emulation

From: Nicholas Bellinger <[email protected]>

Greetings Boaz, Tomo-san and Co,

This series adds initial support for functional bidirectional CDBs into TCM_Core and the TCM_Loop fabric module. So far this is limited to XDWRITE_READ_10 emulation following scsi_debug.c, but everything appears to now be functioning as expected.

This first patch adds support for BIDI operations and XDWRITE_READ_10 emulation into TCM_Core for the individual I/O descriptor setup, memory mapping, callback and release codepaths.

The second patch enables BIDI operations with the TCM_Loop Virtual SCSI LLD fabric module using the updated callers.

So far this has been lightly tested on v2.6.36-rc3 HVM using custom userspace BSG code to issue XDWRITE_READ_10 I/O into TCM_Loop LUNs using FILEIO backstores. Support for BIDI CDBs will also extend to LIO-Target and other TCM fabric modules in the near future.

Comments are welcome!

Nicholas Bellinger (2):
tcm: Add support for BIDI operation and XDWRITE_READ_10 emulation
tcm_loop: Add DMA_BIDIRECTIONAL CDB support

 drivers/target/target_core_transport.c         |  282 +++++++++++++++++++++---
 drivers/target/tcm_loop/tcm_loop_fabric_scsi.c |   48 +++-
 include/target/target_core_base.h              |    9 +-
 include/target/target_core_transport.h         |   10 +-
 4 files changed, 297 insertions(+), 52 deletions(-)