aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAndy Grover <agrover@redhat.com>2015-05-01 13:43:45 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2015-05-02 21:20:51 -0400
commit8ee83a747ac2309934c229281dda8f26648ec462 (patch)
tree210020dd37017542b572a712cc41cd941eb7590d /Documentation
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 <agrover@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/target/tcmu-design.txt18
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:
15 a) Discovering and configuring TCMU uio devices 15 a) Discovering and configuring TCMU uio devices
16 b) Waiting for events on the device(s) 16 b) Waiting for events on the device(s)
17 c) Managing the command ring 17 c) Managing the command ring
183) Command filtering and pass_level 183) Command filtering
194) A final note 194) A final note
20 20
21 21
@@ -360,17 +360,13 @@ int handle_device_events(int fd, void *map)
360} 360}
361 361
362 362
363Command filtering and pass_level 363Command filtering
364-------------------------------- 364-----------------
365 365
366TCMU supports a "pass_level" option with valid values of 0 or 1. When 366Initial TCMU support is for a filtered commandset. Only IO-related
367the value is 0 (the default), nearly all SCSI commands received for 367commands are presented to userspace, and the rest are handled by LIO's
368the device are passed through to the handler. This allows maximum 368in-kernel command emulation. The commands presented are all versions
369flexibility but increases the amount of code required by the handler, 369of:
370to support all mandatory SCSI commands. If pass_level is set to 1,
371then only IO-related commands are presented, and the rest are handled
372by LIO's in-kernel command emulation. The commands presented at level
3731 include all versions of:
374 370
375READ 371READ
376WRITE 372WRITE