| menu "SCSI target (SCST) support" |
| |
| config SCST |
| tristate "SCSI target (SCST) support" |
| depends on SCSI |
| help |
| SCSI target (SCST) is designed to provide unified, consistent |
| interface between SCSI target drivers and Linux kernel and |
| simplify target drivers development as much as possible. Visit |
| http://scst.sourceforge.net for more info about it. |
| |
| config SCST_DISK |
| tristate "SCSI target disk support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for disk device. |
| |
| config SCST_TAPE |
| tristate "SCSI target tape support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for tape device. |
| |
| config SCST_CDROM |
| tristate "SCSI target CDROM support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for CDROM device. |
| |
| config SCST_MODISK |
| tristate "SCSI target MO disk support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for MO disk device. |
| |
| config SCST_CHANGER |
| tristate "SCSI target changer support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for changer device. |
| |
| config SCST_PROCESSOR |
| tristate "SCSI target processor support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for processor device. |
| |
| config SCST_RAID |
| tristate "SCSI target storage array controller (RAID) support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST pass-through device handler for raid storage array controller (RAID) device. |
| |
| config SCST_VDISK |
| tristate "SCSI target virtual disk and/or CDROM support" |
| default SCST |
| depends on SCSI && SCST |
| help |
| SCST device handler for virtual disk and/or CDROM device. |
| |
| config SCST_USER |
| tristate "User-space SCSI target driver support" |
| default SCST |
| depends on SCSI && SCST && !HIGHMEM4G && !HIGHMEM64G |
| help |
| The SCST device handler scst_user allows to implement full-feature |
| SCSI target devices in user space. |
| |
| If unsure, say "N". |
| |
| config SCST_STRICT_SERIALIZING |
| bool "Strict serialization" |
| depends on SCST |
| help |
| Enable strict SCSI command serialization. When enabled, SCST sends |
| all SCSI commands to the underlying SCSI device synchronously, one |
| after one. This makes task management more reliable, at the cost of |
| a performance penalty. This is most useful for stateful SCSI devices |
| like tapes, where the result of the execution of a command |
| depends on the device settings configured by previous commands. Disk |
| and RAID devices are stateless in most cases. The current SCSI core |
| in Linux doesn't allow to abort all commands reliably if they have |
| been sent asynchronously to a stateful device. |
| Enable this option if you use stateful device(s) and need as much |
| error recovery reliability as possible. |
| |
| If unsure, say "N". |
| |
| config SCST_STRICT_SECURITY |
| bool "Strict security" |
| depends on SCST |
| help |
| Makes SCST clear (zero-fill) allocated data buffers. Note: this has a |
| significant performance penalty. |
| |
| If unsure, say "N". |
| |
| config SCST_TEST_IO_IN_SIRQ |
| bool "Allow test I/O from soft-IRQ context" |
| depends on SCST |
| help |
| Allows SCST to submit selected SCSI commands (TUR and |
| READ/WRITE) from soft-IRQ context (tasklets). Enabling it will |
| decrease amount of context switches and slightly improve |
| performance. The goal of this option is to be able to measure |
| overhead of the context switches. See more info about it in |
| README.scst. |
| |
| WARNING! Improperly used, this option can lead you to a kernel crash! |
| |
| If unsure, say "N". |
| |
| config SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING |
| bool "Send back UNKNOWN TASK when an already finished task is aborted" |
| depends on SCST |
| help |
| Controls which response is sent by SCST to the initiator in case |
| the initiator attempts to abort (ABORT TASK) an already finished |
| request. If this option is enabled, the response UNKNOWN TASK is |
| sent back to the initiator. However, some initiators, particularly |
| the VMware iSCSI initiator, interpret the UNKNOWN TASK response as |
| if the target got crazy and try to RESET it. Then sometimes the |
| initiator gets crazy itself. |
| |
| If unsure, say "N". |
| |
| config SCST_USE_EXPECTED_VALUES |
| bool "Prefer initiator-supplied SCSI command attributes" |
| depends on SCST |
| help |
| When SCST receives a SCSI command from an initiator, such a SCSI |
| command has both data transfer length and direction attributes. |
| There are two possible sources for these attributes: either the |
| values computed by SCST from its internal command translation table |
| or the values supplied by the initiator. The former are used by |
| default because of security reasons. Invalid initiator-supplied |
| attributes can crash the target, especially in pass-through mode. |
| Only consider enabling this option when SCST logs the following |
| message: "Unknown opcode XX for YY. Should you update |
| scst_scsi_op_table?" and when the initiator complains. Please |
| report any unrecognized commands to scst-devel@lists.sourceforge.net. |
| |
| If unsure, say "N". |
| |
| config SCST_EXTRACHECKS |
| bool "Extra consistency checks" |
| depends on SCST |
| help |
| Enable additional consistency checks in the SCSI middle level target |
| code. This may be helpful for SCST developers. Enable it if you have |
| any problems. |
| |
| If unsure, say "N". |
| |
| config SCST_TRACING |
| bool "Tracing support" |
| depends on SCST |
| default y |
| help |
| Enable SCSI middle level tracing support. Tracing can be controlled |
| dynamically via sysfs interface. The traced information |
| is sent to the kernel log and may be very helpful when analyzing |
| the cause of a communication problem between initiator and target. |
| |
| If unsure, say "Y". |
| |
| config SCST_DEBUG |
| bool "Debugging support" |
| depends on SCST |
| select DEBUG_BUGVERBOSE |
| help |
| Enables support for debugging SCST. This may be helpful for SCST |
| developers. |
| |
| If unsure, say "N". |
| |
| config SCST_DEBUG_OOM |
| bool "Out-of-memory debugging support" |
| depends on SCST |
| help |
| Let SCST's internal memory allocation function |
| (scst_alloc_sg_entries()) fail about once in every 10000 calls, at |
| least if the flag __GFP_NOFAIL has not been set. This allows SCST |
| developers to test the behavior of SCST in out-of-memory conditions. |
| This may be helpful for SCST developers. |
| |
| If unsure, say "N". |
| |
| config SCST_DEBUG_RETRY |
| bool "SCSI command retry debugging support" |
| depends on SCST |
| help |
| Let SCST's internal SCSI command transfer function |
| (scst_rdy_to_xfer()) fail about once in every 100 calls. This allows |
| SCST developers to test the behavior of SCST when SCSI queues fill |
| up. This may be helpful for SCST developers. |
| |
| If unsure, say "N". |
| |
| config SCST_DEBUG_SN |
| bool "SCSI sequence number debugging support" |
| depends on SCST |
| help |
| Allows to test SCSI command ordering via sequence numbers by |
| randomly changing the type of SCSI commands into |
| SCST_CMD_QUEUE_ORDERED, SCST_CMD_QUEUE_HEAD_OF_QUEUE or |
| SCST_CMD_QUEUE_SIMPLE for about one in 300 SCSI commands. |
| This may be helpful for SCST developers. |
| |
| If unsure, say "N". |
| |
| config SCST_DEBUG_TM |
| bool "Task management debugging support" |
| depends on SCST_DEBUG |
| help |
| Enables support for debugging of SCST's task management functions. |
| When enabled, some of the commands on LUN 0 in the default access |
| control group will be delayed for about 60 seconds. This will |
| cause the remote initiator send SCSI task management functions, |
| e.g. ABORT TASK and TARGET RESET. |
| |
| If unsure, say "N". |
| |
| config SCST_TM_DBG_GO_OFFLINE |
| bool "Let devices become completely unresponsive" |
| depends on SCST_DEBUG_TM |
| help |
| Enable this option if you want that the device eventually becomes |
| completely unresponsive. When disabled, the device will receive |
| ABORT and RESET commands. |
| |
| source "drivers/scst/fcst/Kconfig" |
| source "drivers/scst/iscsi-scst/Kconfig" |
| source "drivers/scst/scst_local/Kconfig" |
| source "drivers/scst/srpt/Kconfig" |
| |
| endmenu |