Commit Graph

4646 Commits

Author SHA1 Message Date
Bart Van Assche 250faea985 scst_targ: Remove dead code
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6360 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:06:18 +00:00
Bart Van Assche 76cc064b48 scst: Fix a race between scst_del_threads() and the sysfs API
kthread_stop() not only stops a thread but also frees the associated
task struct. Avoid that functions that iterate over the thread list
can encounter an invalid task structure pointer. This patch fixes the
following kernel crash:
    
general protection fault: 0000 [#2] PREEMPT SMP
RIP: 0010:[<ffffffff81080e9c>]  [<ffffffff81080e9c>] __task_pid_nr_ns+0x9c/0x1b0
Call Trace:
[<ffffffffa045ed7d>] task_pid_vnr+0xd/0x10 [scst]
[<ffffffffa0460418>] scst_tgt_dev_thread_pid_show+0x78/0xd0 [scst]
[<ffffffffa045929f>] scst_show+0xf/0x20 [scst]
[<ffffffff81231acb>] sysfs_kf_seq_show+0xab/0x130
[<ffffffff81230176>] kernfs_seq_show+0x26/0x30
[<ffffffff811daf10>] seq_read+0xe0/0x3e0
[<ffffffff81230ab5>] kernfs_fop_read+0x125/0x180
[<ffffffff811b0138>] __vfs_read+0x28/0xe0
[<ffffffff811b07ca>] vfs_read+0x8a/0x140
[<ffffffff811b1669>] SyS_read+0x49/0xb0
[<ffffffff814ffd32>] system_call_fastpath+0x16/0x7a



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6359 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:05:29 +00:00
Bart Van Assche b936c23543 qla2xxx: Declare local symbols 'static'
Additionally, remove unused code. Detected by sparse.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6358 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:03:35 +00:00
Bart Van Assche b6c00bfba1 scst_targ: Add more debug code in scst_unblock_aborted_cmds()
Use lockdep to verify that the caller holds scst_mutex if the
scst_mutex_held argument has not been set.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6357 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:01:24 +00:00
Bart Van Assche a6f9f870b3 scst_lib: Fix a use-after-free in an error path
scst_free_tgt_dev() frees the memory tgt_dev points at which means
that list_for_each_entry_safe() is needed here.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6356 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:00:40 +00:00
Bart Van Assche e31d1999f3 dev_handlers: Report invalid block sizes
If while attaching a pass-through device the READ CAPACITY command
reports an invalid sector size, log an error message.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6355 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:59:38 +00:00
Bart Van Assche 612fac9874 isert: Declare a local function static
Detected by checkpatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6354 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:55:52 +00:00
Bart Van Assche eb10fe3f7d iscsi-scst: Surround complex values with parentheses
Detected by checkpatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6353 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:55:22 +00:00
Bart Van Assche bf0fdcb36d scst_proc: Indent consistently
Detected by smatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6352 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:54:47 +00:00
Bart Van Assche 29d11c1ee2 scst_user: Fix indentation
Detected by smatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6351 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:54:14 +00:00
Bart Van Assche a0f46a0a69 scst_lib: WRITE SAME performance improvement fix
Fix the argument of the second kunmap() call. Detected by smatch.
See also patch "scst_lib: Improve WRITE SAME performance" (commit
ID a15628d683). Note: this patch does not have any impact on
64-bit architectures since kunmap() doesn't to anything on such
architectures.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6350 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:53:43 +00:00
Bart Van Assche ae2534f0a6 qla2x00t: Update how-to with instructions for 16 Gb/s HBA
Add instructions for how to download and install the 16 Gb/s FC HBA
driver. Remove the "optional step" since this step should not be
needed after various recent fixes in the SCST makefiles. Recommend
to blacklist the distro QLA initiator driver even if the kernel is
not being rebuilt.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6349 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:53:00 +00:00
Bart Van Assche dce5cbc1cb iscsi-scst/README: Add a reference
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6348 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:52:10 +00:00
Bart Van Assche 47efee04ce scst: Fix WRITE SAME parsing
Check bit 4 instead of bit 0 as the ANCHOR bit. Handle the NDOB
bit correctly.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6347 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:51:26 +00:00
Bart Van Assche 20986f4c1b scst_lib: Make a WRITE SAME debug statement more informative
If a data length mismatch has been detected, report the LBA and
the lengths that do not match.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6346 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:49:18 +00:00
Bart Van Assche 69569b0cdf fcst: Display RXID in SCST error messages
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6345 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:46:17 +00:00
Bart Van Assche a0e4cc7288 fileio: Remove dead code
There is no FUA bit in WRITE VERIFY commands. Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6344 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:45:51 +00:00
Bart Van Assche ac45265fd0 scst_local: Fix scst_local_add_target() error path
Do not return a pointer to freed memory in *out_tgt. Detected by
Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6343 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:45:15 +00:00
Bart Van Assche 1eb5498df2 scst_local: Correct error handling in scst_local_sysfs_mgmt_cmd()
Avoid that __scst_local_add_adapter() failures are ignored.
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6342 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:44:28 +00:00
Bart Van Assche 4efcfc7bfd scst: Remove dead code from scst_assign_dev_handler()
The BUG_ON(handler == NULL) statement at the start of this function
guarantees that handler != NULL. Hence remove the remaining tests of
the 'handler' pointer. Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6341 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:43:31 +00:00
Bart Van Assche f272064c12 iscsi-scst: Suppress put_page_callback patch warnings
The put_page_callback patch only improves performance on single
socket systems but not on systems with multiple CPU sockets.
Since this message is confusing to SCST users, do not print a
warning if the put_page_callback patch has not been applied.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6340 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 23:10:28 +00:00
Bart Van Assche 269d417601 scst_debug(): Avoid that debug_print_with_prefix() overflows the output buffer
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6339 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:23:17 +00:00
Bart Van Assche 3fe91cf714 scst_vdisk: Fix error handling in __vdev_load_mode_pages()
Avoid that unknown parameters cause __vdev_load_mode_pages() to
return 0 instead of -EINVAL. Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6338 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:21:22 +00:00
Bart Van Assche f6806b930c scripts/rebuild-rhel-kernel-rpm: Add RHEL 7.1 support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6337 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:18:29 +00:00
Bart Van Assche 6b3f45696a RHEL 7.1: Add put_page_callback patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6336 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:17:52 +00:00
Bart Van Assche 502aef7b1b scst: Rename SERVICE_ACTION_IN into SERVICE_ACTION_IN_16
Rename this constant because it has been renamed in the Linux
kernel.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6335 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:16:19 +00:00
Bart Van Assche 9bfdc312d3 ib_srpt: RHEL 5 build fix
Make the ib_srpt driver build again on RHEL 5 systems. See also
r6138.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6334 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:15:12 +00:00
Bart Van Assche 1d58f5fd14 scst_local: RHEL 5 build fix
Add a definition of scsi_bidi_cmnd() for older kernel versions.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6333 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:14:10 +00:00
Bart Van Assche 5516e63e25 qla2x00t: Port to RHEL 6
Although RHEL 6 is based on the 2.6.32 kernel, for RHEL 6.1 the
argument list for sysfs callback functions follows the style of
kernel 2.6.35.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6332 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:13:14 +00:00
Bart Van Assche 550ab7c1d3 ib_srpt: RHEL 7.1 build fix
With the RHEL 7.0 kernel ib_register_mad_agent() takes eight
arguments. With the RHEL 7.1 kernel the same function takes nine
arguments. Detect at build time how many arguments this function
takes.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6331 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:12:28 +00:00
Bart Van Assche eea3bca1e9 scst: Remove unreachable code
Code after BUG() is unreachable both with CONFIG_BUG=y and with
CONFIG_BUG=n. Hence remove such code. Detected by smatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6330 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 20:08:45 +00:00
Bart Van Assche 020ec68ddc ib_srpt: Change default behavior from using SRQ to not using SRQ
Although the non-SRQ mode needs more resources that mode has the
advantage that the end-to-end flow control mechanism is used.

From the IB spec:

C9-150.2.1: For QPs that are not associated with an SRQ, each HCA
receive queue shall generate end-to-end flow control credits. If
a QP is associated with an SRQ, the HCA receive queue shall not
generate end-to-end flow control credits.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6329 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 18:57:16 +00:00
Bart Van Assche 807c4eacf0 isert: Use break in default case
Detected by checkpatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6328 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 18:51:47 +00:00
Bart Van Assche 86cb6fce1b scst_vdisk: Remove superfluous braces
Detected by checkpatch.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6327 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 18:51:15 +00:00
Bart Van Assche 2056892f23 scstadmin/Makefile: Take $(DESTDIR) into account
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6326 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 18:21:11 +00:00
Bart Van Assche 1890eee7b9 scstadmin: Rename the SCST-SCST Perl module into SCST_SCST
From http://perldoc.perl.org/ExtUtils/MakeMaker.html: "NAME must
be a valid Perl package name". Rename the Perl module to avoid
that MakeMaker reports the following:
    
Warning: NAME must be a package name



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6325 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 18:16:18 +00:00
Bart Van Assche fe36df55d3 scst-dkms.spec.in: Build in release mode instead of debug mode
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6324 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 17:40:09 +00:00
Bart Van Assche 410519634e qla2x00t: Minimize diffs with the upstream driver in the >= 3.19 kernel code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6323 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 17:38:05 +00:00
Bart Van Assche 3e39f3852d scst.spec.in: Mention filenames only once (this is a follow-up for r5976)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6322 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 17:36:27 +00:00
Bart Van Assche 7c3b2c4ca6 iscsi-scst: Fix spelling in a source code comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6321 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 15:53:31 +00:00
Bart Van Assche bdf2c68e8a iscsi-scst/Makefile: Only report the OFED flavor when building the iSER target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6320 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 13:27:49 +00:00
Bart Van Assche 9bef92a7e9 scst, T10-PI: Kernel 2.6.30 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6318 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 05:35:06 +00:00
Vladislav Bolkhovitin 3e9eaf6b29 iscsi-scst: small post-r6315 cleanup
Avoid that rd_task when it is not used



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6317 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 01:43:26 +00:00
Vladislav Bolkhovitin 91eca4309e Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6316 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-16 01:28:06 +00:00
Bart Van Assche 7566e2ed71 Avoid that compiler warnings depend on the build mode
It is annoying that some warnings are only reported in release mode.
Modify scst_debug.h such that the compiler does not report variables
that are only used in debug builds as unused.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6315 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-15 22:15:07 +00:00
Bart Van Assche 15535bf648 iscsi-scst: Suppress a compiler warning
Avoid that the compiler complains that the variable 'pad_bytes'
is not used with CONFIG_LIBCRC32C=n.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6314 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-15 22:06:29 +00:00
Bart Van Assche 9e700c6c03 iscsi-scst/Makefile: Only build the iSER target driver if InfiniBand has been enabled in the kernel config
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6313 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-15 14:41:35 +00:00
Bart Van Assche 0d9d6a6f57 isert-scst: Fix in-tree build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6312 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-12 16:15:45 +00:00
Bart Van Assche a2a22c0b95 isert-scst: Shorten the compiler include path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6311 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-12 15:31:05 +00:00
Bart Van Assche e62155683e iscsi-scst: Fix a compiler warning for kernel versions >= 3.19
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6310 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-12 15:29:56 +00:00