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