Commit Graph

4133 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
34f682c19e Processing of QErr and TMF_ONLY added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5481 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-26 01:56:36 +00:00
Vladislav Bolkhovitin
c0be3de584 Follow up for the previous commit
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5480 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-25 02:47:31 +00:00
Vladislav Bolkhovitin
160016b9e8 Saved mode pages added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5479 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-25 02:03:04 +00:00
Vladislav Bolkhovitin
13ec92196f Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5478 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 23:44:25 +00:00
Vladislav Bolkhovitin
40161eeb10 Minor logging cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5477 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 23:07:58 +00:00
Bart Van Assche
e7179af46b scst: Avoid that reassigning a session triggers a kernel crash
This patch fixes the following kernel bug:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000064
IP: [<ffffffffa069e59c>] scst_alloc_add_tgt_dev+0x9c/0x540 [scst]
Call Trace:
 [<ffffffffa06a1b57>] scst_check_reassign_sessions+0x367/0x3b0 [scst]
 [<ffffffffa06a1cb7>] scst_acg_add_acn+0x117/0x1a0 [scst]
 [<ffffffffa06a5e42>] scst_acg_ini_mgmt_store_work_fn+0x152/0x370 [scst]
 [<ffffffffa06a93a6>] sysfs_work_thread_fn+0xa6/0x2f0 [scst]
 [<ffffffff8108dd72>] kthread+0xd2/0xf0
 [<ffffffff816912bc>] ret_from_fork+0x7c/0xb0

Reported-by: Zhen Xu <zhenxu.zj@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5476 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 18:49:52 +00:00
Bart Van Assche
7922cc2dfb scstadmin, regression tests: Follow-up for r5409
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 18:45:23 +00:00
Bart Van Assche
6cbe580d89 ib_srpt: Unload properly with RDMA/CM disabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5474 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 18:43:41 +00:00
Bart Van Assche
99b7abe259 ib_srpt, Makefile: Introduce the OFED_KERNEL_DIR variable
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5473 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 12:27:00 +00:00
Bart Van Assche
eae0318512 ib_srpt: Make srpt_disconnect_ch() close sessions properly that have not yet reached the connected state
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5472 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 11:11:26 +00:00
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