Commit Graph

4123 Commits

Author SHA1 Message Date
Bart Van Assche
cd0dcb32ab ib_srpt: Add support in the Makefile for MLNX OFED and for OFED 3.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5471 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 10:38:37 +00:00
Bart Van Assche
a4a01d6675 ib_srpt: OFED 3.12 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5470 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 10:37:58 +00:00
Bart Van Assche
ee394389e2 scst/README: Update multipathd information in implicit ALUA section
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5469 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 08:41:15 +00:00
Vladislav Bolkhovitin
1249be6247 Fix for TARGET RESET race
It can happen, when a device added after blocking, so unblocking then
will make dev->block_count of the new device negative.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5468 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 04:03:51 +00:00
Vladislav Bolkhovitin
d3fcdde388 Fix queuing of UA for aborted by PREEMPT AND ABORT, if TAS is 0, + some clarifications
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5467 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 03:15:12 +00:00
Vladislav Bolkhovitin
6b020ed078 scst: Avoid that smatch complains about dead code
The panic() function that implements BUG() has been declared with attribute
noreturn in some RHEL 5 kernel headers and also in the RHEL 6 kernel headers.
Smatch warns about dead code if any code follows a function that has been
declared with attribute noreturn. Hence add a few preprocessor statements to
suppress the smatch warning when building against an upstream kernel or when
building against RHEL 6 or later.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5466 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 02:39:05 +00:00
Vladislav Bolkhovitin
476e5968a4 scst_targ: Clarify a comment
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5465 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 02:33:07 +00:00
Vladislav Bolkhovitin
9f3c9df526 scst_lib: Avoid integer overflows
This patch fixes the following kernel oops:

[3696]: scst: scst_parse_cmd:826:Warning: expected transfer length 522240 for opcode 0x08 (handler vcdrom, target iscsi) doesn't match decoded value -2048
[3696]: scst_parse_cmd:828:Suspicious CDB:
 (h)___0__1__2__3__4__5__6__7__8__9__A__B__C__D__E__F
   0: 08 1f ff ff ff 00   ......
BUG: unable to handle kernel paging request at ffff88283597f0c8
IP: [<ffffffff8135c3af>] sg_init_table+0x5f/0x90
Call Trace:
 [<ffffffffa021eb48>] sgv_pool_alloc+0x3b8/0xbf0 [scst]
 [<ffffffffa0204c16>] scst_alloc_space+0xb6/0x290 [scst]
 [<ffffffffa01e2d28>] scst_prepare_space+0x3b8/0x6e0 [scst]
 [<ffffffffa01ef4a5>] scst_process_active_cmd+0x455/0x7e0 [scst]
 [<ffffffffa01efb22>] scst_cmd_init_done+0x2f2/0x5c0 [scst]
 [<ffffffffa0156ac2>] scst_cmd_init_stage1_done.constprop.37+0x12/0x20 [iscsi_scst]
 [<ffffffffa015d9fa>] scsi_cmnd_start+0x25a/0x550 [iscsi_scst]
 [<ffffffffa015e4b8>] cmnd_rx_start+0x148/0x1a0 [iscsi_scst]
 [<ffffffffa0161598>] process_read_io+0x3b8/0x800 [iscsi_scst]
 [<ffffffffa0161aa7>] scst_do_job_rd+0xc7/0x220 [iscsi_scst]
 [<ffffffffa016208d>] istrd+0x16d/0x2e0 [iscsi_scst]
 [<ffffffff81075bad>] kthread+0xed/0x110
 [<ffffffff816dd5bc>] ret_from_fork+0x7c/0xb0

and causes the following message to be reported instead:

[11269]: scst: scst_generic_parse:7402:***WARNING***: bufflen 16777215, data_len 16777215 or out_bufflen 0 too large for device disk12 (block size 2048)
scst_generic_parse:CDB:
 (h)___0__1__2__3__4__5__6__7__8__9__A__B__C__D__E__F
   0: 08 1f ff ff ff 00   ......

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5464 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 02:30:52 +00:00
Vladislav Bolkhovitin
77d9940242 Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5463 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 00:07:22 +00:00
Bart Van Assche
54a84dff08 ib_srpt: Clean up the CM event handling messages (part 3)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 13:38:54 +00:00
Bart Van Assche
4181477639 ib_srpt: RHEL 5.9 build fix (part 2)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5461 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:20:52 +00:00
Bart Van Assche
3f76f4e792 ib_srpt, RDMA/CM: Avoid hanging sessions due to a cable pull
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5460 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:04:15 +00:00
Bart Van Assche
05c8c1548c ib_srpt: Clean up the CM event handling code (part 2)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5459 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:02:29 +00:00
Bart Van Assche
8fd1252268 ib_srpt: Clean up the CM event handling code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5458 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 08:59:18 +00:00
Bart Van Assche
dafaa63ea0 ib_srpt: RHEL 5.9 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5457 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 08:57:17 +00:00
Bart Van Assche
ec7188eb2a scst/README: Update implicit ALUA section
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5456 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 05:15:57 +00:00
Bart Van Assche
4f549fe5c1 scst/README: Update the section about Linux initiator ALUA support
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5454 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-22 07:32:44 +00:00
Bart Van Assche
1762ababe5 scripts/run-regression-tests: Suppress the checkpatch warning "missing space after return type"
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5452 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-22 07:05:21 +00:00
Bart Van Assche
7a0aa7052d scst: Revert r5438, a whitespace-only change
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5451 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-22 06:56:37 +00:00
Bart Van Assche
cbc9df8306 iscsi-scst/kernel/patches/put_page_callback-3.2.57.patch: Add
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5450 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-20 06:24:23 +00:00
Bart Van Assche
1a809721fc vdisk_blockio: Make COMPARE AND WRITE compatible with the scsi_debug driver
This patch fixes the following kernel oops:

BUG: unable to handle kernel paging request at ffffeae380000690
Call Trace:
 [<ffffffff812f69f9>] sg_miter_next+0x9/0xd0
 [<ffffffff812f6b60>] sg_copy_buffer+0xa0/0x100
 [<ffffffffa0507fc6>] do_device_access.isra.8+0xa6/0x150 [scsi_debug]
 [<ffffffffa05085f4>] resp_read+0xe4/0x240 [scsi_debug]
 [<ffffffffa050b285>] scsi_debug_queuecommand_lck+0x11e5/0x2060 [scsi_debug]
 [<ffffffffa050c130>] scsi_debug_queuecommand+0x30/0x48 [scsi_debug]
 [<ffffffff813fe23f>] scsi_dispatch_cmd+0xaf/0x260
 [<ffffffff814068ed>] scsi_request_fn+0x32d/0x540
 [<ffffffff812bda2a>] __blk_run_queue+0x2a/0x40
 [<ffffffff812c25a4>] blk_queue_bio+0x274/0x350
 [<ffffffff812bd878>] generic_make_request+0xa8/0xf0
 [<ffffffff812bd92c>] submit_bio+0x6c/0x140
 [<ffffffffa06247f6>] blockio_rw_sync.isra.29+0x106/0x170 [scst_vdisk]
 [<ffffffffa0629bf9>] vdisk_exec_caw+0xd9/0x3c0 [scst_vdisk]
 [<ffffffffa061ff5e>] vdev_do_job+0x9e/0x320 [scst_vdisk]
 [<ffffffffa0622c47>] non_fileio_exec+0x57/0xd0 [scst_vdisk]
 [<ffffffffa054cde2>] scst_do_real_exec+0x92/0x3b0 [scst]
 [<ffffffffa05502d2>] scst_exec_check_blocking+0xe2/0x300 [scst]
 [<ffffffffa055066b>] scst_exec_check_sn+0x17b/0x2d0 [scst]
 [<ffffffffa0553231>] scst_process_active_cmd+0x431/0x770 [scst]
 [<ffffffffa0554a0a>] scst_do_job_active+0xea/0x180 [scst]
 [<ffffffffa0554bc6>] scst_cmd_thread+0x126/0x290 [scst]
 [<ffffffff81075241>] kthread+0xc1/0xe0
 [<ffffffff81598ccc>] ret_from_fork+0x7c/0xb0

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


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5449 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-19 11:52:34 +00:00
Bart Van Assche
f5fd6f5375 scst_vdisk, COMPARE AND WRITE: Convert a kernel warning into a SCSI sense code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5448 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-19 11:48:33 +00:00
Bart Van Assche
c0d9aee18e ib_srpt: RHEL 6.5 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5447 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:44:48 +00:00
Bart Van Assche
fc18736ce4 ib_srpt: Build fix for kernel versions < 3.0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:38:39 +00:00
Bart Van Assche
fa58faf95b ib_srpt: Add RDMA/CM support
Or in other words, add RoCE and iWARP support.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:22:30 +00:00
Bart Van Assche
c29fd6f34d ib_srpt: Move the code for checking the QP timeout
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5444 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:11:18 +00:00
Bart Van Assche
f234b9db8a ib_srpt: Use a mutex instead of a spinlock to protect the channel list
This is allowed because all CM callback functions are invoked from thread
context.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5443 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:10:47 +00:00
Bart Van Assche
97241d4e29 ib_srpt: Prepare RDMA/CM support
Move IB/CM members into a new struct. Report channel pointer instead of CM ID
pointer in diagnostic messages.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:09:33 +00:00
Bart Van Assche
ffb6115cb9 ib_srpt: Remove a superfluous check from the REQ handler
ib_send_cm_rep() checks the connection state before sending a response.
Hence checking ch->state before calling ib_send_cm_rep() is superfluous,
so remove that check and also the locking that is no longer needed.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5441 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:08:00 +00:00
Bart Van Assche
4377509628 ib_srpt: Move IB/CM knowledge out of srpt_cm_req_recv()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5440 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:04:05 +00:00
Bart Van Assche
ac079a1545 ib_srpt: Update README
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5439 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 11:09:55 +00:00
Bart Van Assche
4bce1c54ef scst: Fix a checkpatch 3.14 warning about whitespace
Fix the following checkpatch 3.14 warning:

missing space after return type


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5438 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 06:13:03 +00:00
Bart Van Assche
57574bf943 scst: Fix a checkpatch warning
Fix the following checkpatch 3.14 warning:
    
Unnecessary space after function pointer name


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5437 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 06:08:07 +00:00
Bart Van Assche
fbcab181ef scst.h: Fix a checkpatch warning
Fix the following checkpatch 3.14 warning:

Unnecessary space after function pointer name


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5436 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 06:03:34 +00:00
Bart Van Assche
135be0f19d iscsi-scst: Fix a checkpatch warning
Fix the following checkpatch 3.14 warning:

Unnecessary parentheses - maybe == should be = ?


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5435 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 05:56:35 +00:00
Bart Van Assche
7022ad51ac nightly build: Add kernel version 3.14.1 and update other kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5434 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 05:54:29 +00:00
Bart Van Assche
2b2b47bb85 nightly build: Add kernel 3.14 build infrastructure
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5433 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 05:50:04 +00:00
Vladislav Bolkhovitin
bbdf791c65 Update to kernels 3.14
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5432 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 00:32:51 +00:00
Bart Van Assche
952a5a74ba scst_vdisk: Fix a kernel 2.6.27 compiler warning
Avoid that the compiler reports that variables 'start_sector' and 'nr_sects'
are set but not used when building against kernel 2.6.27.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5431 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-17 06:12:07 +00:00
Bart Van Assche
8cac62f57e scst_vdisk: Kernel 2.6.27 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5430 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-17 06:09:41 +00:00
Bart Van Assche
548e9a2fa6 scst_lib: Avoid that checkpatch complains about unnecessary line continuations
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5429 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 09:35:18 +00:00
Bart Van Assche
bd082e2db8 scst_vdisk: Avoid that checkpatch complains about unnecessary line continuations
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5428 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 09:31:56 +00:00
Bart Van Assche
f589744f58 ib_srpt: Remove a superfluous assignment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5427 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 09:14:31 +00:00
Bart Van Assche
4acf8e249f ib_srpt: Cache P_Key lookups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5426 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:23:11 +00:00
Bart Van Assche
5b7e52b654 ib_srpt: Clean up the code that prints the dgid during login
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5425 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:08:50 +00:00
Bart Van Assche
8c8c9534ee ib_srpt: Constify two arguments of srpt_get_nexus()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5424 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:01:58 +00:00
Bart Van Assche
3f59c15917 ib_srpt: Disable RDMA access by the initiator
With the SRP protocol all RDMA operations are initiated by the target.
Since no RDMA operations are initiated by the initiator, do not grant
the initiator permission to submit RDMA reads or writes to the target.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5423 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 07:30:34 +00:00
Bart Van Assche
7110fcbc00 scst_vdisk: Build fix for kernels < 2.6.36 (see also r5416)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5422 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 06:35:19 +00:00
Bart Van Assche
0fb32cca26 scst_targ: Fix a checkpatch complaint
Avoid that checkpatch reports the following message:

ERROR: space required before the open parenthesis '('


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5421 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 06:17:19 +00:00
Vladislav Bolkhovitin
5d14759c69 Follow up for r5418: some cleanups and fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5420 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 02:24:44 +00:00