- Now sense data are sent without additional memory allocation and copy
- Sending and receiving padding bytes reimplemented
- Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@699 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 2.6.25 introduced netlink_socket_release(), to be used to clean up netlink sockets correctly (taking care of namespaces).
- New more scalable proc seq_file implementation
+ minor signess cleanups
+ version updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@654 d57e44dd-8a1f-0410-8b47-8ef2f437770f
the most recent versions (checkpatch 2.6.28 / latest sparse git version) and
that were not reported by previous versions (checkpatch 2.6.27 / sparse 0.4.1).
The patch below fixes the following issues:
* Removed trailing space in iscsi-scst/README_in-tree.
* Fixed sparse complaints about functions that were not declared static.
* Fixed sparse complaints about casts between address spaces: such casts are
now either fixed or explicit (via the __force keyword).
The patch below has been verified by checking the output produced by:
scripts/run-regression-tests -k 2.6.28.1
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@641 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Apparently not all messages reported by this version are correct. So I switched
back to the last released sparse version (0.4.1). The patch below fixes all
errors and warnings reported by sparse 0.4.1 on the SCST source code.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@596 d57e44dd-8a1f-0410-8b47-8ef2f437770f
kernel pointer is expected and vice versa. Additionally, there are a few fixes
for checkpatch warnings on trailing whitespace and lines that were over 80
columns.
This patch has been verified by reviewing it carefully and by verifying the
output files of the command scripts/run-regression-tests -k 2.6.27.6.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@579 d57e44dd-8a1f-0410-8b47-8ef2f437770f
the iscsi-scst source code.
This patch has been verified by reviewing it carefully and by verifying the
output files of the command scripts/run-regression-tests -k 2.6.27.6.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
code, mainly about lines that exceeded 80 columns. As you can see in the patch
below most lines that were too long have been split, but some code has also
been moved into helper functions in order to keep the code readable. No
functionality has been changed.
This patch has been verified as follows:
- Reread the patch carefully.
- Verified that the iSCSI target kernel module still loads.
- Verified the output generated by scripts/run-regression-tests -k 2.6.27.5.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
with some modifications
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
1. scst_local can work with scst_user's devices
2. scst_user now compatible with iscsi-scst if put_page_callback not applied
+ some cosmetics
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
upcoming checkpatch version will complain about these:
* Make sure that a single tab is used for indenting instead of four spaces.
* Removed spaces from around the colon used for specifying field widths.
* Remove trailing whitespace in .txt files.
This patch has been tested by verifying that:
- the output of svn diff -x -w is empty, i.e. that the patch only affects
whitespace.
- the SCST out-of-tree source code still compiles fine against the 2.6.25 kernel
(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@525 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Zero-copy feature, introduced by put_page_callback patch, made kernel compile time configurable via CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION option. If you upgrade from earlier versions, see the corresponding "[CAUTION]" e-mail in scst-devel mailing list about possible compatibility problems.
- SRP target temporary removed from "all" and "install" the main Makefile targets, since it isn't compiled on 2.6.26
- Minor fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
The patch below fixes the following category of checkpatch complaints:
ERROR: do not use C99 // comments
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about C99 comments.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
The patch below fixes the following category of checkpatch complaints:
WARNING: unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about unnecessary casts.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any new compiler warnings.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
The patch below fixes the following category of checkpatch warnings:
ERROR: Use of SPIN_LOCK_UNLOCKED is deprecated: see Documentation/spinlocks.txt
This patch has been verified as follows:
- Verified that checkpatch does no longer complain about spinlocks.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any new compiler warnings.
- Verified that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine, and that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@401 d57e44dd-8a1f-0410-8b47-8ef2f437770f
While all warnings on mismatches between printf-style format strings and
argument lists were fixed on i386 and x86_64, gcc prints a large number of
warnings about mismatches when compiling SCST on ppc64. The patch below
fixes these by casting integer arguments to the type (long long unsigned int)
where appropriate.
This patch has been tested as follows:
- Verified the patch by reading it.
- Checked that make -s clean && make -s iscsi scst && make -s -C srpt did not
trigger any compiler warnings about format strings on i386, x86_64 and ppc.
- Checked that no previously fixed checkpatch warnings were reintroduced in
the patch generated by generate-kernel-patch.
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, and that the patched kernel tree still
compiles, installs and boots fine.
Additionally, this patch splits a kernel version preprocessor test from one into two lines, such that
the generate-kernel-patch script can process the version check properly.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@397 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following checkpatch complaints:
- ERROR: else should follow close brace '}'
- ERROR: need consistent spacing around '&' (ctx:VxW)
- ERROR: open brace '{' following enum go on the same line
- ERROR: open brace '{' following struct go on the same line
- ERROR: that open brace { should be on the previous line
- ERROR: trailing statements should be on next line
- ERROR: trailing whitespace
- WARNING: braces {} are not necessary for any arm of this statement
The patch below has been verified as follows:
- Verified the patch below by reading it.
- Checked that checkpatch does no longer complain about the above categories
of messages on the generated patch.
- Checked that the generated kernel patch applies cleanly to the 2.6.25.4
kernel.
- Checked that the patched 2.6.25.4 kernel compiles and installs cleanly,
and that after reboot it was possible to load the iscsi-scst and ib_srpt
kernel modules.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@386 d57e44dd-8a1f-0410-8b47-8ef2f437770f
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
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
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
- 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
- "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
- Connection close improved to be less agressive and honor TCP TIME_WATE state
- Docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@301 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Optimizations and send timeout introduced in r295 temporary disabled
- Big connection shutdown times improvements. Great thanks to Alexey Kuznetsov for suggestions!
- RESERVE/RELEASE serialization now made with TST field 0 (i.e. single task set)
- Other minor fixes and improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@297 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Response data send timeout implemented: now if initiator doesn't accept data for too long (7 sec), target closes connection
- Connction closing improved: now session cleared without need to wait for all outstanding commands data fully transmitted
- On session unregistration now all outstanding commands are implicitely aborted
- TM processing in SCST core made independant from other TM commands (before they were serialized)
- Few bug fixes
- Other minor improvements and cleanups
- Docs update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@295 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 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
- TM fixes related to new commands serialization
- Other TM improvements
- Minor changes: likely/unlikely and priority of mgmt threads
Work not fully completed, still there are some rare issues.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@240 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- TM fixes and improvements, particularly, TARGET RESET now resets only visible to the initiator devices
- Logs improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@237 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Particularly:
- Added ability for target drivers to set result of command's status delvery to initiator (see scst_set_delivery_status())
- Added ability for user space devices set some mode page parameters to make SCST core behave correspondingly
- TM improvements
- Few possible crashes fixed
- Logging improvements
- Performance improvements
- Docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@227 d57e44dd-8a1f-0410-8b47-8ef2f437770f