Commit Graph

100 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
250929b448 Patch from Gal Rosen <galr@storwize.com>:
There are 16 characters of the port_name + 7 characters of ":" + "\0" of
sprintf = total 24 bytes.
wwn_str has only 16 bytes.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@681 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-26 20:02:43 +00:00
Vladislav Bolkhovitin
d5322f10ad The patch below implements the following changes for the iSCSI-SCST HOWTO
document:
- Added RHEL / CentOS to the list of officially supported kernels.
- Mentioned that regenerating the initial RAM disk is an explicit step on many
  distro's.
- Replaced shell instructions for generating /etc/scst.conf by a sequence of
  scstadmin commands.
- Added note about insserv.

Also it adds small HOWTO how to recompile RHEL/CentOS kernel in README_RHEL.

Also it implements some docs cleanups.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@658 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-02 15:49:39 +00:00
Vladislav Bolkhovitin
479a9d0a9f - Update for 2.6.28
- Small doc update in flow control area



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@632 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-12 18:55:08 +00:00
Vladislav Bolkhovitin
f9e6ba44ad Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@603 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-05 13:54:00 +00:00
Vladislav Bolkhovitin
c3ce35ab76 It was brocken. Fixed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@599 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-04 19:31:46 +00:00
Vladislav Bolkhovitin
089b7c391d Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@597 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-12-04 18:20:22 +00:00
Vladislav Bolkhovitin
fb2fdb2ed6 Checkpatch warnings fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@582 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-11-21 12:12:53 +00:00
Vladislav Bolkhovitin
2bce93c688 Forgotten in r578 initiator version increase
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@581 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-11-21 10:18:28 +00:00
Vladislav Bolkhovitin
e54c3872bc Update to initiator driver from 2.6.27
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@578 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-11-20 18:58:53 +00:00
Vladislav Bolkhovitin
90c831b838 Cleanup removing usage of in_atomic(). Particularly, now target drivers and dev handlers need to explicitly supply preferred execution context in scst_cmd_done() and scst_tgt_cmd_done().
WARNING! This commit changes external SCST interface, so it can break compilation of your out of SCST SVN tree target driver or dev handler. To fix it, simply supply the preferred exection context to scst_cmd_done() and/or scst_tgt_cmd_done().

Thanks to Bart Van Assche <bart.vanassche@gmail.com> for pointing on it.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@556 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-31 10:49:25 +00:00
Vladislav Bolkhovitin
b35c83dbe2 Fixes wrong sess_count decrement on session registration failure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@549 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-30 12:22:48 +00:00
Vladislav Bolkhovitin
0411713796 Small improvement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-28 20:30:47 +00:00
Vladislav Bolkhovitin
54b2a0a5b9 -Wno-missing-field-initializers added. Small cleanup.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@542 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-25 17:31:10 +00:00
Vladislav Bolkhovitin
1eeffbb3da The first approximation to update to 2.6.27 + minor fixes, particularly remove of unused variable and add full path to depmod in Makefiles. Partially done by Bart Van Assche <bart.vanassche@gmail.com>.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@529 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-21 11:51:52 +00:00
Vladislav Bolkhovitin
54cfaac7ee Compiler warning fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@524 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-16 17:42:54 +00:00
Vladislav Bolkhovitin
d747aa2fa4 Allows enabling target mode support without SCST enabled. Otherwise it is impossible to use the target driver with out of tree SCST.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@522 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-10 10:00:08 +00:00
Vladislav Bolkhovitin
01f7f50dc4 The patch below fixes the following class of checkpatch warnings:
WARNING: %Ld/%Lu are not-standard C, use %lld/%llu

This patch has been tested by verifying that the SCST sources still compile
fine (make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s).

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@514 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-06 17:22:17 +00:00
Vladislav Bolkhovitin
ef10d158a5 Minor changes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@497 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-09-25 09:21:44 +00:00
Vladislav Bolkhovitin
2072470745 Patch from Gal Rosen <galr@storwize.com>:
Mailbox is 16 bits, and the shift should be of 2 bytes (16 bits) not 2 bits, and 1 byte not 1 bit



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@492 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-08-28 15:48:35 +00:00
Vladislav Bolkhovitin
aab4e1d1ff Polishing for in-tree
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@486 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-08-01 17:59:05 +00:00
Vladislav Bolkhovitin
2828a3db2c Checkpath and compiler fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@485 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-08-01 17:03:24 +00:00
Vladislav Bolkhovitin
fdbe23b77c - Compiler made to show more warnings
- New warnings fixed



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@484 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-31 10:01:45 +00:00
Vladislav Bolkhovitin
5a5f1d3247 Compilation if target mode disabled fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@483 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-29 17:19:58 +00:00
Vladislav Bolkhovitin
721c811332 Updated corespondingly to the latest changes in the driver (kernels <2.6.26 not supported anymore)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@478 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-25 10:57:42 +00:00
Vladislav Bolkhovitin
e546852ee7 Added qla2x00t HOWTO written by Amit Mehta. Web pages updated correspondingly.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@477 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-24 16:23:44 +00:00
Vladislav Bolkhovitin
91b9b7299f Fix for long standing protection problem in the initiator driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@474 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-24 09:04:05 +00:00
Vladislav Bolkhovitin
c006b05884 Update of the initiator driver to one from kernel 2.6.26. Sorry, the prior kernels not supported anymore, but backport patches are welcome.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@473 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-23 17:41:22 +00:00
Vladislav Bolkhovitin
84153b23b5 Minor changes and docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@471 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-22 15:32:42 +00:00
Vladislav Bolkhovitin
4ba14ede19 Fixes crash on module unload found by Gal Rosen
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@470 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-21 17:01:12 +00:00
Vladislav Bolkhovitin
0abc311754 - QLA: minor cleanups
- SCST_USER: microoptimization



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@469 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-18 17:02:13 +00:00
Vladislav Bolkhovitin
f510655081 Typo fixed
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@466 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-18 10:35:56 +00:00
Vladislav Bolkhovitin
cc28ddcdf2 Apparently the SCST code with debugging and/or tracing enabled compiles fine as
an external module. When applying the SCST kernel patch to the mainstream 
kernel tree with debugging and/or tracing enabled however, the resulting code
triggers a compiler error. This is because the symbols DEBUG and TRACING
conflict with symbols with the same named defined in unrelated kernel headers.
The patch below resolves these conflicts by renaming the following preprocessor 
symbols:
- DEBUG into CONFIG_SCST_DEBUG.
- DEBUG_DIGEST_FAILURES into CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES.
- DEBUG_OOM into CONFIG_SCST_DEBUG_OOM.
- DEBUG_RETRY into CONFIG_SCST_DEBUG_RETRY.
- DEBUG_SN into CONFIG_SCST_DEBUG_SN.
- DEBUG_TM into CONFIG_SCST_DEBUG_TM.
- EXTRACHECKS into CONFIG_SCST_EXTRACHECKS.
- SCST_HIGHMEM into CONFIG_SCST_HIGHMEM.
- STRICT_SERIALIZING into CONFIG_SCST_STRICT_SERIALIZING.
- TM_DBG_GO_OFFLINE into CONFIG_SCST_TM_DBG_GO_OFFLINE. Mapped 0/1 values
  into macro undefined / macro defined.
- TRACING into CONFIG_SCST_TRACING.
- USE_EXPECTED_VALUES into CONFIG_SCST_USE_EXPECTED_VALUES.
- In qla_isp/linux/isp_scst.c, renamed DEBUG into DEBUG_ISP_SCST.
- In qla_isp/..., renamed SCSI_TARGET in SCST_SCSI_TARGET.
- In qla_isp/..., renamed SCSI_TARGET_DEV in SCST_SCSI_TARGET_DEV.
Additionally, all CONFIG_SCSI_TARGET* macro's are renamed into CONFIG_SCST* in
order to avoid confusion between the STGT CONFIG-symbols and the SCST CONFIG-
symbols.

The following additional options are now configurable through Kconfig:
- CONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES
- CONFIG_SCST_STRICT_SERIALIZING
- CONFIG_SCST_STRICT_SECURITY
- CONFIG_SCST_ALLOW_PASSTHROUGH_IO_SUBMIT_IN_SIRQ
- CONFIG_SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING
- CONFIG_SCST_USE_EXPECTED_VALUES
- CONFIG_SCST_DEBUG_OOM
- CONFIG_SCST_DEBUG_RETRY
- CONFIG_SCST_DEBUG_SN
- CONFIG_SCST_DEBUG_TM
- CONFIG_SCST_TM_DBG_GO_OFFLINE

The patch below has been verified as follows:
- Verified that the following command does not print any new warning messages:
  make -s clean && make -C srpt -s clean && make -s scst iscsi-scst && make -C srpt -s
- Verified as follows that the internal SCST patches still apply cleanly:
  for p in *patch; do patch -p0 --dry-run -f -s <$p; done
- Checked that the patch generated by generate-kernel-patch still applies
  cleanly to the 2.6.25.7 kernel, and that the patched kernel tree still
  compiles, installs and boots fine, that the iscsi-scst, ib_srpt,
  scst_disk and scst_vdisk modules still load, and that iSCSI communication
  still works fine. All SCST kernel configuration options that could be
  enabled have been enabled during this test.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@453 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-10 10:49:06 +00:00
Vladislav Bolkhovitin
7857b2532e - Forgotten piece of changes for returning to the release mode
- QLA_ISP targets in the main Makefile temporary disabled, since they don't support building with specified kernel version


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@443 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-09 16:58:56 +00:00
Vladislav Bolkhovitin
8c71b68271 - Version changed to 1.0.1
- Switched back to the debug mode



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-09 16:44:01 +00:00
Vladislav Bolkhovitin
299b079f7c Pending changes to match the 1.0.0 released packeges
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@436 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-08 19:21:22 +00:00
Vladislav Bolkhovitin
0fd9c9b385 - Version changed to 1.0.0
- Build configuration changed to "Release"
 - iscsi-scst-howto.txt added
 - ChangeLog's updated
 - Minor docs changes
 - scstadm_install and scstadm_uninstall main Makefile targets added



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@433 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-07-07 18:00:32 +00:00
Vladislav Bolkhovitin
8b77aa8ad2 Minor cleanups and docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@422 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-06-26 16:35:10 +00:00
Vladislav Bolkhovitin
da47dc7a6c - ISCSI sending response timeout increased to 30 seconds
- Fixed 2 problems in scst_user on release() cleanup
 - Added per-device memory limit and new scst.ko module parameter scst_max_dev_cmd_mem
 - Cleanups, including important ones
 - Version changed to 1.0.0-rc1


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@411 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-06-12 18:55:13 +00:00
Vladislav Bolkhovitin
20a2e4ae8d Copyrights updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@408 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-06-12 11:39:28 +00:00
Vladislav Bolkhovitin
994b72d114 The major TM processing cleanup in scst_user module which was possible after the recent SCST changes, to fix current problems. Also there are fixes for found during development/testing problems. Particularly:
- PRIO queue was removed from scst_user. Instead, all priority commands now queued in the head of the regular queue. The corresponding code was removed from fileio_tgt as well. It necessary, in the future the priority queue can be easily restored from this patch.

 - pre_unreg_sess() was removed from struct scst_dev_type. The corresponding code was removed from SCST core as well

 - Almost all /proc/scsi_tgt commands now can fail after timeout (90 seconds) with EBUSY

 - Fixed possible incorrect command's retry if double RESET UA is detected.

 - Many minor changes and cleanups

Also docs were updated.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@403 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-31 12:05:02 +00:00
Vladislav Bolkhovitin
21cc5df121 Patch from Bart Van Assche <bart.vanassche@gmail.com>:
The patch below fixes the following class of checkpatch.pl errors:
  ERROR("(foo*)" should be "(foo *)".
Or: another whitespace-only change.

I have verified that the output of svn diff -w -x is empty for this patch.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@383 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-21 15:43:54 +00:00
Vladislav Bolkhovitin
56e642cf77 Patch from Bart Van Assche <bart.vanassche@gmail.com>:
The patch below implements the following changes:
- Fixes the remaining warnings reported by checkpatch.pl with regard to the use
  of whitespace in C code.
- Adds double qoutes around some #warning messages, such that checkpatch.pl
  does no longer try to interprete the text behind the #warning preprocessor
  directive.
- Adds an extra conversion to the generate-kernel-patch script that removes
  the single space from before goto-labels while generating the kernel patch.

This patch has been tested as follows:
- Verified that svn diff -x -w only shows changes in the #warning preprocessor directives.
- Verified the output of svn diff by reading it.
- Verified that checkpatch.pl does no longer complain on the use of whitespace
  (searched through the checkpatch.pl output for the text ' space').
- Verified that the patch generated by the generate-kernel-patch script still
  applies cleanly to the 2.6.24 kernel, and that the patched kernel still compiles cleanly.

Please let me know if I have to resubmit parts of this patch to other SCST authors.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@381 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-21 11:56:09 +00:00
Vladislav Bolkhovitin
1213800b2f Patch from Bart Van Assche <bart.vanassche@gmail.com>, except few chuncks from qla2x00t/ obviously not related to the target mode addon:
One of the Linux kernel patch submission requirements is that source files do
not contain trailing whitespace. The patch below removes trailing whitespace
from .c and .h source files.

Note: it might be more convenient to run the script I used to generate this
patch than to review and apply the patch below. This is how I generated and
verified the patch below:

cat <<EOF >./strip-trailing-whitespace
#!/bin/bash
trap "rm -f $t" EXIT
t=/tmp/temporary-file.$$
for f in "$@"
do
  sed 's/[	 ]*$//' <"$f" >"$t" && mv "$t" "$f"
done
EOF
chmod a+x ./strip-trailing-whitespace
find -name '*.[ch]' | xargs ./strip-trailing-whitespace
svn diff -x -w

Signed-off-by: <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@377 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-19 10:21:41 +00:00
Vladislav Bolkhovitin
a06c3d97e3 - Fixed sg_tablesize in qla2x00t to be per target card, not global
- Minor cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@374 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-15 17:27:50 +00:00
Vladislav Bolkhovitin
cf53d51733 - In "extraclean" target new autogenerated files added
- Don't automatically build iscsi-scst-adm anymore until it will be fixed


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@368 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-13 17:18:07 +00:00
Vladislav Bolkhovitin
2bff6d9765 - Rejecting command reimplemented in a more simple, straightforward and readable way.
- Minor external interface change: now target drivers should set for aborted commands SCST_CMD_DELIVERY_ABORTED status via scst_set_delivery_status(). In-tree drivers updated.
 - Fixed broken compilation if put_page_callback patch not applied to the kernel. Reported by Erez Zilber <erezz@Voltaire.COM>
 - Fixed several minor problems reported by David Berton <davidbrt@yahoo.com>
 - Fixed __exit misuse, when such functions called from __init functions.
 - Docs updated.
 - Other minor changes and cleanups.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@364 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-07 18:44:15 +00:00
Vladislav Bolkhovitin
925fbcdda3 The bunch of pending changes. Sorry, it's quite big.
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
 - Obtaining device queue parameters in scst_obtain_device_parameters() changed to handle NOT READY sense
 - Fixed possible dev_cmd_count underflow
 - Minor iSCSI-SCST connection closing cleanups and fixes
 - Semantic of other *_atomic flags changed a bit. Now they are intended only to allow SCST to optimize execution context. The corresponing functions now can *always* be called on atomic context and, if necessary, should manually determine that using scst_cmd_atomic() function and restart using corresponding *_NEED_THREAD_* return value.
 - scst_cmd_get_tgt_resp_flags() and SCST_TSC_FLAG_STATUS flag made obsolete and replaced by scst_cmd_get_is_send_status(). All in-tree drivers updated accordingly
 - Cleanup: preprocessing_done_atomic removed, now preprocessing_done() callback always called on thread context
 - 64-bit cleanups
 - Documented that iscsi-scst-adm is currently broken and explained why
 - In user space Makefile's added possibility to specify external linker flags
 - Minor performance optimizations
 - Other minor cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@350 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-22 10:30:53 +00:00
Vladislav Bolkhovitin
25b29b701a Update for 2.6.25
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@338 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-18 16:38:39 +00:00
Vladislav Bolkhovitin
fa84d540ef scsi_tgt.h renamed to scst.h
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@337 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-17 17:35:37 +00:00
Vladislav Bolkhovitin
eec2a571dd - Fixed minor problem in iSCSI-SCST
- Important reference counting and barriers usage cleanups
 - Sense buffer made dynamic
 - Other minor improvements and cleanups
 - Docs updates


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@287 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-02-13 17:15:47 +00:00