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
