(sometimes called storage head) this patch makes it possible to tell the
initiator which port to use. Since that information can be specified per LUN,
with this patch it is not only possible to tell the initiator which path to
choose but also to balance the load over target ports. Target port attributes
can not only be defined for target ports that exist on the system on which
SCST is running but also for target ports present on other nodes of the same
HA setup. As far as I know this feature is unique among open source storage
target implementations.
Note: with this patch SCSI target port attributes can be defined for each LUN
defined on each SCST target individually. Such an SCST target is either a
physical entity (e.g. a HCA for the ib_srpt driver) or a logical entity (e.g.
an iSCSI target for the iscsi_scst driver). In the last case it is up to the
user to make sure that there is a one-to-one relationship between SCST target
and SCSI target port.
This patch is based on the specifications in the ANSI T10 spc4r30 document.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Docs updated
- Returning of DIRECT contexts by scst_estimate_context() disabled (see comment in the patch why)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- io_context not needed anymore
- Now threads pool can be per session
- Each device now can have own type of threads pool with own threads count
+ docs updates and some cleanups and minor fixes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
is built via the kbuild infastructure. In kernel version 2.6.24 (commit
f77bf01425b11947eeb3b5b54685212c302741b8) the kbuild variable ccflags-y has
been introduced and the use of EXTRA_CFLAGS in kbuild makefiles has been
deprecated. The patch below converts SCST's in-tree makefiles such that these
use ccflags-y instead of EXTRA_CFLAGS when generating kernel patches for
kernel 2.6.24 or later.
Additionally, this patch removes the "default n" from the file
scst/kernel/in-tree/Kconfig.scst since this statement is superfluous.
The patch below has been tested by verifying the output of the following
command:
for ((v=23;v<=32;v++)); do rm -rf re* && scripts/run-regression-tests 2.6.$v; done
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1447 d57e44dd-8a1f-0410-8b47-8ef2f437770f
errors. The patch below has been tested by verifying the output of the following commands:
scripts/run-regression-tests 2.6.29
scripts/run-regression-tests 2.6.30.4
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Committed with some minor changes/additions.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1044 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- scsi_execute_async() renamed to scst_scsi_exec_async() and from now will stay in scst_lib.c
- In scst_scsi_exec_async() support for long CDBs and bidirectional commands added
- Patches scst_exec_req_fifo were removed for kernels between 2.6.26 and 2.6.29, because they are not needed anymore. Pass-through will work on those kernels without them
- Monor bug fixes and cleanups
- Docs updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1040 d57e44dd-8a1f-0410-8b47-8ef2f437770f
scst_exec_req_fifo-2.6.30.patch applied, the following warning is printed
many times by the compiler:
include/linux/scatterlist.h:223: warning: ‘enum km_type’ declared
inside parameter list
include/linux/scatterlist.h:223: warning: its scope is only this
definition or declaration, which is probably not what you want
include/linux/scatterlist.h:226: warning: ‘enum km_type’ declared
inside parameter list
The patch below fixes these compiler warnings by adding a forward declaration
for "enum km_type" in include/linux/scatterlist.h.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@963 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- A bunch of memory corruptions was fixed
- For cases if scst_exec_req_fifo-2.6.30+.patch not applied, implementation from the patch was added to scst_lib.c. So, now for 2.6.30+ kernels scst_exec_req_fifo-2.6.X.patch is optional
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@953 d57e44dd-8a1f-0410-8b47-8ef2f437770f