The patch below fixes all remaining checkpatch errors:
- ERROR: do not use assignment in if condition
- ERROR: that open brace { should be on the previous line
- ERROR: trailing whitespace
- ERROR: use tabs not spaces
The last three had already been fixed before, but some occurences were
reintroduced in r403. It would be great if new modifications could be checked
for checkpatch errors before being committed.
This patch has been tested as follows:
- Reread the patch below carefully.
- Verified that make -s clean && make -s iscsi scst && make -s -C srpt
still works and does not trigger any compiler warnings.
- Verified that checkpatch does no longer report any errors.
- 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, and that the iscsi-scst, ib_srpt,
scst_disk and scst_vdisk modules still load.
- Tested that iSCSI login/logout still works from a remote system, and that
iSCSI I/O still works.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@404 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- 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
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
The patch below fixes the following checkpatch warning:
WARNING: Use #include <linux/...> instead of <asm/...>
This patch has been tested as follows:
- Verified the patch by rereading it.
- Checked that make -s clean && make -s iscsi scst && make -s -C srpt still
works.
- 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, 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@399 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The patch below fixes the following categories of checkpatch complaints:
- ERROR: switch and case should be at the same indent
- ERROR: do not initialise statics to 0 or NULL
- ERROR: use tabs not spaces
I have verified that the SCST source code still compiles.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@398 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 warning:
__func__ should be used instead of gcc specific __FUNCTION__
This patch has been tested as follows:
- Checked that make iscsi scst still works.
- Checked that after loading the scst module the kernel messages generated
because of the shell command "echo all >/proc/scsi_tg/trace_level" still
make sense. An example:
[ 646.408035] [5845]: scst: scst_proc_log_entry_write:346:Changed trace level for "scsi_tgt": old 0x80005f0e, new 0xffffffff
- Checked that the patch generated by generate-kernel-patch still applies
cleanly to the 2.6.25.4 kernel, that the patched kernel still compiles,
installs and boots and that the scst, iscsi-scst and ib_srpt modules still
load (I performed rm -rf /lib/modules/2.6.25.4* before starting kernel
compilation).
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@393 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- From the main Makefile all all LSI/MPT related targets are commented out, because the recent changes in its Makefile have broken them.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@391 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
By this time I have reworked the update of scripts/generate-kernel-patch'>scripts/generate-kernel-patch.
These are the changes that were already present in version 1 of this patch
and that have been kept in this patch:
- The SCST code has been moved from drivers/scsi/scsi_tgt to drivers/scst.
- Moved SCST header files from include/scsi_tgt to include/scst.
- Added iscsi-scst in drivers/scst/iscsi-scst.
For the time being the generate-kernel-patch does no longer try to add the
qla2x00t driver in drivers/scst/qla2x00-target -- I have not yet been able to
figure out how to get qla2x00t/qla2x00-target compiled without the initiator
code.
Just as in version 1 of this patch, the following files in the Subversion
repository have been renamed to reflect the above changes:
- Renamed scst/kernel/in-tree/Makefile.scsi.Linux-2.6.24.patch'>scst/kernel/in-tree/Makefile.scsi.Linux-2.6.24.patch to
scst/kernel/in-tree/Makefile.drivers.Linux-2.6.24.patch'>scst/kernel/in-tree/Makefile.drivers.Linux-2.6.24.patch.
- Renamed Kconfig'>scst/kernel/in-tree/Kconfig.scsi.Linux-2.6.24.patch to
scst/kernel/in-tree/Kconfig.drivers.Linux-2.6.24.patch'>scst/kernel/in-tree/Kconfig.drivers.Linux-2.6.24.patch.
- Renamed scst/kernel/in-tree/Makefile.scsi_tgt'>scst/kernel/in-tree/Makefile.scsi_tgt to
scst/kernel/in-tree/Makefile.scst'>scst/kernel/in-tree/Makefile.scst.
- Renamed scst/kernel/in-tree/Kconfig.scsi_tgt'>scst/kernel/in-tree/Kconfig.scsi_tgt to
scst/kernel/in-tree/Kconfig.scst'>scst/kernel/in-tree/Kconfig.scst.
Because of the above changes the include path specified in the following
Makefiles had to be changed:
- scst/kernel/in-tree/Makefile.dev_handlers'>scst/kernel/in-tree/Makefile.dev_handlers
- srpt/src/Makefile.in_kernel'>srpt/src/Makefile.in_kernel
Other changes:
- I have added menu/endmenu entries in file scst/kernel/in-tree/Kconfig.scst
such that the SCST entries become visible when running make xconfig or make
menuconfig.
- Elaborated the SCST help texts a little bit (in file
scst/kernel/in-tree/Kconfig.scst).
New in version 2 of this patch:
- Moved remaining patches in the generate-kernel-patch script to separate
files.
- Added support for the 2.6.25 kernel.
This patch has been tested as follows:
mkdir -p tmp
cd tmp
rm -rf linux-2.6.25.3 /lib/modules/2.6.25.3-scst
tar xjf ~vanasscb/software/downloads/linux-2.6.25.3.tar.bz2
cd linux-2.6.25.3
cp ../.config-2.6.25 .
(cd ~vanasscb/software/scst
&& ~vanasscb/software/scst/scripts/generate-kernel-patch \
2.6.25) | patch -p1
make oldconfig
diff ../.config .
make xconfig
make menuconfig
make -j5 bzImage modules
make modules_install install
cp -r /lib/firmware/$(uname -r) /lib/firmware/2.6.25.3-scst
update-initramfs -k 2.6.25.3-scst -c
reboot
modprobe iscsi-scst
modprobe ib_srpt
lsmod | grep -E 'scst|ib_srpt'
dmesg
Signed-off-by: bart.vanassche@gmail.com
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@373 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
- Fixed dev_cdrom and dev_modisk load failures if there are no media in the drives
- Other minor fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@298 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
- ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING compilation symbol added
- TM fixes and cleanups
- Fixes crash on modprobe with some real devices
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@233 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
- Minor race on BLOCKIO requests submittion was fixed
- Other minor fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Forgotten fixes for previous commit
--Tohis line, and those below, will be ignored--
M trunk/iscsi-scst/kernel/patches/put_page_callback-2.6.16.29.patch
M trunk/iscsi-scst/kernel/patches/put_page_callback-2.6.21.1.patch
M trunk/iscsi-scst/kernel/patches/put_page_callback-2.6.22.patch
M trunk/iscsi-scst/kernel/patches/put_page_callback-2.6.23.patch
M trunk/iscsi-scst/kernel/patches/put_page_callback-2.6.18.1.patch
M trunk/scst-full_perf.patch
M trunk/scst-release.patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@211 d57e44dd-8a1f-0410-8b47-8ef2f437770f