Commit Graph

4112 Commits

Author SHA1 Message Date
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
Vladislav Bolkhovitin
77732f149c Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5419 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 01:05:49 +00:00
Vladislav Bolkhovitin
d57ea322de REPORT SUPPORTED OPERATION CODES added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5418 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 01:02:50 +00:00
Vladislav Bolkhovitin
14a331e0f2 Add NULLIO VERIFY
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5417 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 22:17:34 +00:00
Vladislav Bolkhovitin
914682b8c2 Make HEAD OF QUEUE requests sync
Since the block layer has no way to specify bio as HQ, there's no
choice, but to use every measure to approximate it as close as possible.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5416 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 22:04:54 +00:00
Vladislav Bolkhovitin
723d233193 Add SYNCHRONIZE_CACHE(16)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5415 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 21:30:26 +00:00
Vladislav Bolkhovitin
bc312dc988 Fix READ(6)/WRITE(6)
LBA in those commands is 3 bytes long, not 2.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5414 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 21:26:06 +00:00
Bart Van Assche
679d1c637e ib_srpt: Fix a sparse warning
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 06:03:59 +00:00
Vladislav Bolkhovitin
6a01628b2f vdisk_blockio: Reenable COMPARE AND WRITE
The COMPARE AND WRITE implementation has been tested as follows against
an SCST vdisk_blockio device:

lba=7
bdev=$bdev
for ((i=0;i<4;i++)); do dd if=/dev/urandom of=b$i bs=8k count=1; done
for p in "0 1" "1 2" "2 3" "3 0"; do set $p; cat b$1 b$2 >b$1$2; done
dd if=/dev/urandom of=$bdev
dd if=b0 of=$bdev seek=$lba
md5sum $bdev
for ((i=0;i<10000;i++)); do for f in b01 b12 b23 b30; do sg_compare_and_write -l $lba -i $f -n 16 -x 16384 $bdev; done; done
md5sum $bdev

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5412 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-09 23:59:02 +00:00
Vladislav Bolkhovitin
836481737a vdisk_blockio: Specify REQ_SYNC for synchronous I/O requests
Using READ_SYNC instead of READ increases the priority of read requests.
Using WRITE_SYNC instead of REQ_WRITE increases the priority of write
requests and avoids that the CFQ scheduler queues such writes waiting
for further write requests.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5411 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-09 23:58:20 +00:00
Bart Van Assche
c664dcb277 scstadmin: List keys alphabetically in the -list_sessions output
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5410 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-06 20:26:08 +00:00
Bart Van Assche
ef9d1b9001 scstadmin: Restore LUNs in "scstadmin -list_sessions" output
Signed-off-by: Dave Butler <tears.the@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5409 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-06 20:13:53 +00:00