Commit Graph
5604 Commits
Author SHA1 Message Date
Bart Van Assche 91d9391194 scst_user, rt: Wake command processing thread when needed
In a fully-preemptible realtime kernel (CONFIG_PREEMPT_RT_FULL=y),
SCSI commands from an initiator time out because the userland target
application is never woken to process them.

This is because in a fully-preemptible realtime kernel, soft-IRQ
(tasklet) execution always occurs in a ksoftirqd thread and
preempt_count is not manipulated on soft-IRQ processing entry/exit.
This makes in_interrupt() useless for determining whether soft-IRQ
processing is occurring; instead, in_serving_softirq() should be
used for that purpose.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
[bvanassche: Elaborated source code comment]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5272 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-07 12:43:25 +00:00
Bart Van Assche ad681d7c5a nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5271 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-07 08:11:28 +00:00
Bart Van Assche 1a367a14c8 regression tests: Run the 2.6.26..2.6.32 tests on the sysfs code instead of procfs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5270 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-07 07:45:15 +00:00
Bart Van Assche 987f9bd776 scst_sysfs: Fix a build failure on kernels 2.6.2[678]
The sysfs API is supported from kernel 2.6.26 on and uses the swap()
macro while the swap() macro was introduced in kernel 2.6.29. Hence
provide a definition of the swap() macro for kernels before 2.6.29.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
[bvanassche: Moved swap() definition a few lines down and added #ifndef/#endif]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5269 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-07 07:31:38 +00:00
Bart Van Assche 59f48c1f33 ib_srpt: Avoid that disabling a target triggers a race condition
Avoid that disabling a target triggers a race condition with
SRP relogin. At least in theory this race condition could result
in a kernel crash.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5268 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-06 14:17:49 +00:00
Bart Van Assche 0a47e2e1ff qla2x00t: Re-sync help text with the code
The ql2xfdmienable module parameter defaults to 1, but the help text
claims it defaults to zero.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5267 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-06 13:38:28 +00:00
Bart Van Assche 022a8a6847 Hush Coverity warning of scst_ws_push_single_write() uninitialized pointer
Coverity warns that sgv may be used uninitialized. The warning
applies to WRITE SAME commands with LBDATA == PBDATA == 0 (replicate
a single block of user data into the specified LBA range).

The warning appears to be spurious - when LBDATA == PBDATA == 0,
scst_ws_write_cmd_finished() will not use the uninitialized value
saved by scst_ws_push_single_write().

Move initialization of sgv earlier in the function to quiesce the warning.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5266 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-06 13:30:06 +00:00
Bart Van Assche cf699a6d95 scst_local: Fix a kernel oops for kernel versions < 2.6.37
Avoid that scst_local triggers "BUG: unable to handle kernel NULL
pointer dereference" on kernel versions before 2.6.37. This patch
fixes a regression introduced via patch "scst_local: Avoid
deadlock during module removal with kernel 3.6" (trunk r4566).

Reported-by: Sebastian Herbszt <herbszt@gmx.de>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5264 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-06 12:46:51 +00:00
Bart Van Assche be9a78a844 scripts/list-source-files: Handle Mercurial subdirectories properly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5260 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-03 09:03:03 +00:00
Vladislav Bolkhovitin d61106a512 scst_vdisk: Sort "add_device_parameters" alphabetically
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5256 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-31 02:35:20 +00:00
Vladislav Bolkhovitin 4cd021ae86 scst_vdisk: Check that "filename" is specified at most once
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5255 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-31 02:33:11 +00:00
Vladislav Bolkhovitin bd53fcd860 scst_pres: Simplify PR locking
Since the time during which a PR read or write lock is held is short,
use a mutex to implement PR read and write locking. So although this
patch excludes multiple simultaneous readers that shouldn't affect the
time needed to process a PR operation measurably.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5254 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-31 02:32:02 +00:00
Bart Van Assche 41597bc469 nightly build: Add kernel version 3.13.1
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5253 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 09:31:32 +00:00
Bart Van Assche 777aee43d5 scripts/kernel-functions: Add a bug fix for the kernel 3.13 series that is not yet present in the kernel 3.13 stable series
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5252 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 09:30:18 +00:00
Bart Van Assche 7f1c22cbee nightly build: Add kernel 3.13 build infrastructure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5251 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 09:16:27 +00:00
Vladislav Bolkhovitin e6fd59bda4 Update for 3.13 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5250 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 02:32:44 +00:00
Vladislav Bolkhovitin 927748befa [PATCH 2/2] scst_sysfs: Add I/O statistics per target
Although it is possible to obtain these statistics by iterating over
all sessions and by computing the sum of the per-target statistics,
make per-target statistics directly available such that these can be
retrieved easily.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5249 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 01:41:54 +00:00
Vladislav Bolkhovitin c905b530b7 [PATCH 1/2] scst_sysfs: Make it easier to add new target sysfs attributes
This patch does not change any functionality.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5248 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-30 01:40:48 +00:00
Vladislav Bolkhovitin e9ef3fa2d1 Better version of the previous patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5247 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-29 04:16:58 +00:00
Vladislav Bolkhovitin b0a7ab2210 Put CDB control byte parsing in one place
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5246 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-29 03:30:24 +00:00
Vladislav Bolkhovitin 00851a7501 Merge of adding iSER web page and copyright updates from the iSER branch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5241 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 05:17:26 +00:00
Vladislav Bolkhovitin f635cfd011 vdisk_exec_format_unit(): Fix a sparse warning
Avoid that sparse reports the following warning:

warning: 'prot_usage' may be used uninitialized in this function

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5227 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 03:57:19 +00:00
Vladislav Bolkhovitin fba7f097b7 In WT mode blockio flush is not needed, so skip this check
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5226 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 03:54:48 +00:00
Bart Van Assche 08623d3115 ib_srpt: Clarify a log message
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5225 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-27 19:01:24 +00:00
Bart Van Assche fc0dc41452 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5224 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-26 13:52:52 +00:00
Bart Van Assche adb3c46798 fcst: Increase ft_scst_template.sg_tablesize
The libfc implementation can handle long SG lists, hence increase
ft_scst_template.sg_tablesize from 128 to 65535.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5223 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-24 10:32:43 +00:00
Vladislav Bolkhovitin 0611548744 Fix broken link from scst/README to XFS FAQ reported by Sebastian Herbszt <herbszt@gmx.de>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5222 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-22 03:03:04 +00:00
Vladislav Bolkhovitin 85ea152e0c [PATCH] scst: Remove casts from INIT_DELAYED_WORK() statements
This is a source code cleanup patch that does not change any functionality.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5221 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-22 02:57:49 +00:00
Bart Van Assche 2ee6484c6d scst: RHEL 5 build fix
Kernel versions before 2.6.26 do not have a definition for the
ACCESS_ONCE() macro, hence provide one.
    
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-21 14:35:22 +00:00
Bart Van Assche 72c1662421 __scst_check_deferred_commands_locked(): Add sparse locking annotation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5219 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-21 12:03:23 +00:00
Bart Van Assche d602302863 scst: Rework RESERVE / RELEASE handling
Reduce the number of reservation state variables from (one per
device + one per session) to one per device. Introduce helper
functions for manipulating the SPC-2 reservation state.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-21 08:09:01 +00:00
Bart Van Assche e2fb6f4080 mpt: Use PDE_DATA if available
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5217 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 19:26:29 +00:00
Bart Van Assche 8db5286a87 mvsas_tgt: Fix various checkpatch complaints, mainly about whitespace usage
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 19:07:18 +00:00
Bart Van Assche ed9ed528c8 mvsas_tgt: Fix sparse warnings
Also, remove unused variables, data structures and functions.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 18:47:02 +00:00
Bart Van Assche ee1f37d2a5 mvsas_tgt: Port to kernel 3.12
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 18:46:06 +00:00
Bart Van Assche 5fb1240532 mvsas_tgt: Build fix for kernel versions <= 2.6.32
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5213 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 18:45:09 +00:00
Bart Van Assche 88a7e1764b mpt: Fix a use-after-free detected by smatch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:48:41 +00:00
Bart Van Assche 80c6aa0e36 mpt: Fix warnings reported by sparse
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:46:50 +00:00
Bart Van Assche 7fd1822b4d mpt: Fix more checkpatch warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5210 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:45:32 +00:00
Bart Van Assche 6a08ef3fd9 mpt: Checkpatch - remove parentheses from return statements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5209 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:20:01 +00:00
Bart Van Assche 609fe60a8f mpt: Fix more checkpatch warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:17:45 +00:00
Bart Van Assche c89a883339 mpt: Fix another whitespace error reported by checkpatch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5207 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:07:26 +00:00
Bart Van Assche 69ee3d89a0 mpt: Do not explicitly initialize statics to zero
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:06:13 +00:00
Bart Van Assche b065605333 mpt: Avoid that checkpatch complains about stm_[gs]et_dma_addr()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5205 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 09:04:16 +00:00
Bart Van Assche 87c68579ca mpt: Fix whitespace errors reported by checkpatch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:59:20 +00:00
Bart Van Assche 91419daa26 mpt: Fix two checkpatch complaints about asm include files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:56:28 +00:00
Bart Van Assche 2796006f3c mpt: Fix whitespace errors reported by checkpatch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5202 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:54:08 +00:00
Bart Van Assche 974b9fb862 mpt: sysfs mode build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5201 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-19 08:17:30 +00:00
Bart Van Assche 34d18e943e mpt: Port to kernel 3.12 and fix compiler warnings
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-18 17:48:45 +00:00
Bart Van Assche f6d1105ed8 mpt: Clean up compiler include path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-18 17:47:37 +00:00