path: root/Documentation/target
diff options
authorAndy Grover <>2015-05-01 10:43:45 -0700
committerNicholas Bellinger <>2015-05-02 18:20:51 -0700
commit8ee83a747ac2309934c229281dda8f26648ec462 (patch)
tree210020dd37017542b572a712cc41cd941eb7590d /Documentation/target
parenta928d28d4487402e6bd18bea1b8cc2b2ec6e6d8f (diff)
target/user: Disallow full passthrough (pass_level=0)
TCMU requires more work to correctly handle both user handlers that want all SCSI commands (pass_level=0) for a se_device, and also handlers that just want I/O commands and let the others be emulated by the kernel (pass_level=1). Only support the latter for now. For full passthrough, we will need to support a second se_subsystem_api template, due to configfs attributes being different between the two modes. Thus pass_level is extraneous, and we can remove it. The ABI break for TCMU v2 is already applied for this release, so it's best to do this now to avoid another ABI break in the future. Signed-off-by: Andy Grover <> Reviewed-by: Christoph Hellwig <> Signed-off-by: Nicholas Bellinger <>
Diffstat (limited to 'Documentation/target')
1 files changed, 7 insertions, 11 deletions
diff --git a/Documentation/target/tcmu-design.txt b/Documentation/target/tcmu-design.txt
index 43e94ea6d2ca..c80bf1ed8981 100644
--- a/Documentation/target/tcmu-design.txt
+++ b/Documentation/target/tcmu-design.txt
@@ -15,7 +15,7 @@ Contents:
a) Discovering and configuring TCMU uio devices
b) Waiting for events on the device(s)
c) Managing the command ring
-3) Command filtering and pass_level
+3) Command filtering
4) A final note
@@ -360,17 +360,13 @@ int handle_device_events(int fd, void *map)
-Command filtering and pass_level
+Command filtering
-TCMU supports a "pass_level" option with valid values of 0 or 1. When
-the value is 0 (the default), nearly all SCSI commands received for
-the device are passed through to the handler. This allows maximum
-flexibility but increases the amount of code required by the handler,
-to support all mandatory SCSI commands. If pass_level is set to 1,
-then only IO-related commands are presented, and the rest are handled
-by LIO's in-kernel command emulation. The commands presented at level
-1 include all versions of:
+Initial TCMU support is for a filtered commandset. Only IO-related
+commands are presented to userspace, and the rest are handled by LIO's
+in-kernel command emulation. The commands presented are all versions