Skip to content

Commit

Permalink
[SCSI] tcm_loop: Add multi-fabric Linux/SCSI LLD fabric module
Browse files Browse the repository at this point in the history
This patch adds the TCM_Loop Linux/SCSI LLD fabric module for
accessing TCM device backstores as locally accessable SCSI LUNs in
virtual SAS, FC, and iSCSI Target ports using the generic fabric
TransportID and Target Port WWN naming handlers from TCM's
target_core_fabric_lib.c The TCM_Loop module uses the generic fabric
configfs infratructure provided by target_core_fabric_configfs.c and
adds a module dependent attribute for the creation/release of the
virtual I_T Nexus connected the TCM_Loop Target and Initiator Ports.

TCM_Loop can also be used with scsi-generic and BSG drivers so that
STGT userspace fabric modules, QEMU-KVM and other hypervisor SCSI
passthrough support can access TCM device backstore and control CDB
emulation.

For more information please see:

http://linux-iscsi.org/wiki/Tcm_loop

[jejb: fixed up checkpatch stuff]
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Nicholas Bellinger authored and James Bottomley committed Mar 23, 2011
1 parent 5fa8b57 commit 3703b2c
Show file tree
Hide file tree
Showing 6 changed files with 1,673 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/target/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,6 @@ config TCM_PSCSI
Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered
passthrough access to Linux/SCSI device

source "drivers/target/loopback/Kconfig"

endif
3 changes: 3 additions & 0 deletions drivers/target/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ obj-$(CONFIG_TARGET_CORE) += target_core_mod.o
obj-$(CONFIG_TCM_IBLOCK) += target_core_iblock.o
obj-$(CONFIG_TCM_FILEIO) += target_core_file.o
obj-$(CONFIG_TCM_PSCSI) += target_core_pscsi.o

# Fabric modules
obj-$(CONFIG_LOOPBACK_TARGET) += loopback/
11 changes: 11 additions & 0 deletions drivers/target/loopback/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
config LOOPBACK_TARGET
tristate "TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module"
help
Say Y here to enable the TCM Virtual SAS target and Linux/SCSI LLD
fabric loopback module.

config LOOPBACK_TARGET_CDB_DEBUG
bool "TCM loopback fabric module CDB debug code"
depends on LOOPBACK_TARGET
help
Say Y here to enable the TCM loopback fabric module CDB debug code
1 change: 1 addition & 0 deletions drivers/target/loopback/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
obj-$(CONFIG_LOOPBACK_TARGET) += tcm_loop.o
Loading

0 comments on commit 3703b2c

Please sign in to comment.