Commit Graph

3485 Commits

Author SHA1 Message Date
Bart Van Assche
0d0b4e5af1 nightly build: Add kernel 3.7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4654 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-19 07:37:32 +00:00
Bart Van Assche
4b08a03293 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4653 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-18 17:04:45 +00:00
Bart Van Assche
0fd03d44b1 srpt/Testing.txt: Limit to 80 columns
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4652 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-18 09:51:08 +00:00
Bart Van Assche
12313bf114 nightly build: Add kernel 3.7 patches
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4647 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-18 08:54:50 +00:00
Bart Van Assche
2a50de2e4e iscsi-scst: Build fix for kernels 3.6.1..3.6.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4646 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-18 08:22:05 +00:00
Vladislav Bolkhovitin
299c407697 Update for kernel 3.7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4645 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-17 23:09:58 +00:00
Vladislav Bolkhovitin
d178fa8da9 qla2x00t: Avoid reading uninitialized memory
Reported-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4644 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-13 21:28:10 +00:00
Vladislav Bolkhovitin
df9b760738 PR: Compute scope field correctly
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4643 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-13 21:08:29 +00:00
Vladislav Bolkhovitin
c7c0672b51 Fir corner case handling in vdisk_attach_tgt()
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reported-by: Sebastian Riemer <sebastian.riemer@profitbricks.com>
Tested-by: Sebastian Riemer <sebastian.riemer@profitbricks.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4642 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-13 21:06:17 +00:00
Vladislav Bolkhovitin
e9ce622422 scst, persistent reservations: Fix a locking error
Avoid that a command like sg_raw -r256 /dev/sda 5e 04 00 00 00 00 00 20 00 00
triggers the following error messages on a kernel with PROVE_LOCKING enabled:

=====================================
[ BUG: bad unlock balance detected! ]
3.7.0-rc5-debug+ #1 Tainted: G           O
-------------------------------------
disk010_1/9985 is trying to release lock (&dev->dev_pr_mutex) at:
[<ffffffff814b742e>] mutex_unlock+0xe/0x10
but there are no more locks to release!

other info that might help us debug this:
no locks held by disk010_1/9985.

stack backtrace:
Pid: 9985, comm: disk010_1 Tainted: G           O 3.7.0-rc5-debug+ #1
Call Trace:
 [<ffffffff8109598e>] print_unlock_inbalance_bug+0xfe/0x110
 [<ffffffff81098bc6>] lock_release+0x1f6/0x260
 [<ffffffff814b734a>] __mutex_unlock_slowpath+0x9a/0x170
 [<ffffffff814b742e>] mutex_unlock+0xe/0x10
 [<ffffffffa02d7d0f>] scst_pr_write_unlock+0x4f/0xd0 [scst]
 [<ffffffffa02db83c>] scst_persistent_reserve_in_local+0x2cc/0x470 [scst]
 [<ffffffffa02d99bf>] scst_do_local_exec+0x15f/0x1c0 [scst]
 [<ffffffffa02e35d0>] scst_exec_check_blocking+0xd0/0x2c0 [scst]
 [<ffffffffa02e3955>] scst_exec_check_sn+0x195/0x2f0 [scst]
 [<ffffffffa02e5249>] scst_process_active_cmd+0x549/0x780 [scst]
 [<ffffffffa02e5509>] scst_do_job_active+0x89/0x1a0 [scst]
 [<ffffffffa02e5883>] scst_cmd_thread+0x183/0x310 [scst]
 [<ffffffff81063ccd>] kthread+0xed/0x100
 [<ffffffff814c2aac>] ret_from_fork+0x7c/0xb0

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4641 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-12 00:09:11 +00:00
Vladislav Bolkhovitin
ed9ac5b9de Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4640 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-11 02:57:16 +00:00
Mark Buechler
e75a90ef5e Fix 0-named groups. Patch by Alexey Obitotskiy, originally identified by Marcin Haba.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4639 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-05 15:14:30 +00:00
Vladislav Bolkhovitin
0bf88c8f96 Let's do attributes creation in a generic way
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4638 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-04 01:43:22 +00:00
Vladislav Bolkhovitin
eb0fcbb1ef Explicit confirmations and abort ISP attributes don't make sense on virtual targets
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4637 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-12-03 23:29:36 +00:00
Vladislav Bolkhovitin
010dd8b7ec scst_local: Rework scst_local_get_initiator_port_transport_id() to make it easier to read and to verify
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4636 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-29 01:29:49 +00:00
Vladislav Bolkhovitin
486a3bcd34 scst_local: Remove superfluous casts
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4635 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-29 01:25:59 +00:00
Bart Van Assche
b74ed85a0c iscsi-scst: Fix recently introduced compiler warnings
Fix the following two compiler warnings:

chap.c: In function 'chap_rand':
chap.c:347:5: warning: implicit declaration of function 'read' [-Wimplicit-function-declaration]
chap.c:348:5: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4623 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-18 14:27:50 +00:00
Vladislav Bolkhovitin
b30651cda0 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4622 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 23:48:52 +00:00
Vladislav Bolkhovitin
b80d55ec5d Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4621 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 23:25:03 +00:00
Vladislav Bolkhovitin
e66752b4fc Make scst_user debug statistics available only in the debug mode
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4620 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 21:20:17 +00:00
Bart Van Assche
652a2cf41f nightly build: Convert bin/nightly from bash to POSIX shell syntax
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4619 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 10:42:27 +00:00
Bart Van Assche
dc816a4a16 srpt/Testing.txt: Minor updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4618 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-14 08:25:53 +00:00
Vladislav Bolkhovitin
b238320767 target_del(): don't exit on existing sessions
Target_del() might has not yet received all connections close events, so
it can still has alive sessions. Wait for them to disappear.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4617 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-13 20:55:51 +00:00
Vladislav Bolkhovitin
fb6219c8d7 LBA should be 64-bit
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4616 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-13 20:41:24 +00:00
Bart Van Assche
ff45bf36a6 scripts/blockdev-perftest: Speed up block device size determination
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4615 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-13 13:20:56 +00:00
Vladislav Bolkhovitin
e2155e10bf scst: Clarify dev_pr_mutex source code comments
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4614 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-13 02:48:45 +00:00
Bart Van Assche
a88ccc6231 scst_local, RHEL 5: Avoid that AEN handling triggers a deadlock during device removal
Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4613 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-12 12:37:19 +00:00
Bart Van Assche
e838840e6b scstadmin/Makefile: Use chkconfig on RHEL instead of the LSB scripts
chkconfig is installed by default while /usr/lib/lsb/install_initd and
/usr/lib/lsb/remove_initd are not installed by default.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4612 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-09 12:04:58 +00:00
Bart Van Assche
45e27bfa42 scstadmin/Makefile: Clean up whitespace usage
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4611 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-09 10:36:59 +00:00
Vladislav Bolkhovitin
dd4907ea62 scst_pres: Introduce kmemdup()
The scst_pr_add_registrant() implementation can be made a little more brief by
using kmemdup() instead of kmalloc() + memcpy().

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4610 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-09 02:11:59 +00:00
Bart Van Assche
413a68a53e scstadmin, Ubuntu: Use update-rc.d instead of the LSB /usr/lib/lsb/remove_initd - the latter is not installed by default
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4609 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-08 14:25:37 +00:00
Bart Van Assche
37431aae60 /etc/init.d/scst: Wait up to 30s before giving up trying to unload a kernel module
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4608 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-08 14:23:13 +00:00
Bart Van Assche
d3dc18dacb qla2x00t: Fix spelling in a source code comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4607 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-08 10:46:34 +00:00
Vladislav Bolkhovitin
54ffcc75c8 Fix incorrect check for TSIH wrap around
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4606 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-07 22:03:07 +00:00
Vladislav Bolkhovitin
16a97e10d1 Silences a compiler warning reported by Richard Sharpe <realrichardsharpe@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4605 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-07 03:07:38 +00:00
Vladislav Bolkhovitin
e6bff8a950 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4604 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-06 21:31:51 +00:00
Bart Van Assche
edadea8fd0 ib_srpt: RHEL 5.3 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4603 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-05 08:53:35 +00:00
Bart Van Assche
544d61036c scst/src/scst_lib.c: RHEL 5.3 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4602 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-05 08:40:55 +00:00
Bart Van Assche
e834050d35 scst.h, scst_debug.h, scst_pres.h: RHEL 5.3 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4601 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-05 08:37:20 +00:00
Bart Van Assche
2b428054e6 scst/include/scst_debug.h: RHEL 5 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4600 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-05 08:14:56 +00:00
Vladislav Bolkhovitin
7ecc784143 Add forgotten list_del() on session creation error path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-03 02:08:40 +00:00
Vladislav Bolkhovitin
5cdfbd1817 Make CHAP random number generator stronger
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4568 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-11-03 02:03:15 +00:00
Vladislav Bolkhovitin
4cefa1b830 vdisk_fsync() fixes and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-24 21:22:23 +00:00
Vladislav Bolkhovitin
fab0164c55 scst_local: Avoid deadlock during module removal with kernel 3.6
Since kernel 3.6 a SYNCHRONIZE CACHE command is sent to SCSI disks
during the scsi_remove_host() call. That command is sent after command
processing has been suspended in SCST and hence causes a deadlock.
Avoid this deadlock by failing all commands issued after
scst_unregister_target() has been invoked.

The output of echo w >/proc/sysrq-trigger just after module removal of
scst_local started is as follows:

SysRq : Show Blocked State
  task                        PC stack   pid father
kworker/2:1     D ffff88003d08cf40     0    37      2 0x00000000
 ffff88003d0bd830 0000000000000046 ffffffff814a849e ffff88003d08cf40
 ffff88003d08cf40 ffff88003d0bdfd8 ffff88003d0bdfd8 ffff88003d0bdfd8
 ffff88003d9a3b70 ffff88003d08cf40 0000000000000282 ffff88003d0bd860
Call Trace:
 [<ffffffff814a849e>] ? schedule_timeout+0x12e/0x230
 [<ffffffff814aabc9>] schedule+0x29/0x70
 [<ffffffff814a84a3>] schedule_timeout+0x133/0x230
 [<ffffffff8104cc00>] ? __internal_add_timer+0x140/0x140
 [<ffffffff814aaa72>] wait_for_common+0x122/0x170
 [<ffffffff81074050>] ? try_to_wake_up+0x2c0/0x2c0
 [<ffffffff814aab73>] wait_for_completion_timeout+0x13/0x20
 [<ffffffff811edc2b>] blk_execute_rq+0x17b/0x200
 [<ffffffff814aa993>] ? wait_for_common+0x43/0x170
 [<ffffffff81180a51>] ? bio_phys_segments+0x21/0x30
 [<ffffffff811e8cf0>] ? blk_rq_bio_prep+0x30/0xb0
 [<ffffffff812e46ee>] scsi_execute+0xee/0x180
 [<ffffffff812e58ed>] scsi_execute_req+0xbd/0x130
 [<ffffffff812f55c0>] sr_check_events+0xc0/0x2d0
 [<ffffffff81076218>] ? sched_clock_cpu+0xa8/0x110
 [<ffffffff8131e1cc>] cdrom_check_events+0x1c/0x40
 [<ffffffff812f5a39>] sr_block_check_events+0x19/0x20
 [<ffffffff811f0e32>] disk_events_workfn+0x62/0x160
 [<ffffffff8105affe>] process_one_work+0x1ae/0x620
 [<ffffffff8105af9d>] ? process_one_work+0x14d/0x620
 [<ffffffff811f0dd0>] ? __disk_unblock_events+0x130/0x130
 [<ffffffff8105ce97>] worker_thread+0x187/0x4e0
 [<ffffffff8105cd10>] ? manage_workers+0x320/0x320
 [<ffffffff81062a07>] kthread+0xb7/0xc0
 [<ffffffff81097b35>] ? trace_hardirqs_on_caller+0x105/0x190
 [<ffffffff814b5d04>] kernel_thread_helper+0x4/0x10
 [<ffffffff814ac870>] ? retint_restore_args+0x13/0x13
 [<ffffffff81062950>] ? flush_kthread_work+0x1e0/0x1e0
 [<ffffffff814b5d00>] ? gs_change+0x13/0x13
rmmod           D ffff88001d46a7a0     0 10456  10437 0x00000004
 ffff8800393cd7a8 0000000000000046 ffffffff814a849e ffff88001d46a7a0
 ffff88001d46a7a0 ffff8800393cdfd8 ffff8800393cdfd8 ffff8800393cdfd8
 ffffffff81a13420 ffff88001d46a7a0 0000000000000282 ffff8800393cd7d8
Call Trace:
 [<ffffffff814a849e>] ? schedule_timeout+0x12e/0x230
 [<ffffffff814aabc9>] schedule+0x29/0x70
 [<ffffffff814a84a3>] schedule_timeout+0x133/0x230
 [<ffffffff8104cc00>] ? __internal_add_timer+0x140/0x140
 [<ffffffff814aaa72>] wait_for_common+0x122/0x170
 [<ffffffff81074050>] ? try_to_wake_up+0x2c0/0x2c0
 [<ffffffff814aab73>] wait_for_completion_timeout+0x13/0x20
 [<ffffffff811edc2b>] blk_execute_rq+0x17b/0x200
 [<ffffffff814aa993>] ? wait_for_common+0x43/0x170
 [<ffffffff81063000>] ? __init_waitqueue_head+0x60/0x60
 [<ffffffff812e46ee>] scsi_execute+0xee/0x180
 [<ffffffff812e58ed>] scsi_execute_req+0xbd/0x130
 [<ffffffff812f07a8>] sd_sync_cache+0x98/0x120
 [<ffffffff812f0a40>] sd_shutdown+0xd0/0x150
 [<ffffffff812f0b3c>] sd_remove+0x7c/0xc0
 [<ffffffff812c3e6c>] __device_release_driver+0x7c/0xf0
 [<ffffffff812c3f0e>] device_release_driver+0x2e/0x40
 [<ffffffff812c380f>] bus_remove_device+0xff/0x170
 [<ffffffff812c099d>] device_del+0x12d/0x1c0
 [<ffffffff812eae1d>] __scsi_remove_device+0x10d/0x120
 [<ffffffff812e97ef>] scsi_forget_host+0x6f/0x80
 [<ffffffff812deb8a>] scsi_remove_host+0x7a/0x130
 [<ffffffffa0287bea>] scst_local_driver_remove+0x5a/0x120 [scst_local]
 [<ffffffff812c3e6c>] __device_release_driver+0x7c/0xf0
 [<ffffffff812c3f0e>] device_release_driver+0x2e/0x40
 [<ffffffff812c380f>] bus_remove_device+0xff/0x170
 [<ffffffff812c099d>] device_del+0x12d/0x1c0
 [<ffffffffa028ae21>] ? scst_local_exit+0x6b/0x24a [scst_local]
 [<ffffffff812c0a52>] device_unregister+0x22/0x60
 [<ffffffffa0287649>] scst_local_remove_adapter+0x59/0xd0 [scst_local]
 [<ffffffffa02880ab>] __scst_local_remove_target+0x7b/0x130 [scst_local]
 [<ffffffffa028ae3a>] scst_local_exit+0x84/0x24a [scst_local]
 [<ffffffff810a2d26>] sys_delete_module+0x1a6/0x2b0
 [<ffffffff814ac855>] ? retint_swapgs+0x13/0x1b
 [<ffffffff8120ebfe>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff814b4b29>] system_call_fastpath+0x16/0x1b

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




git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-23 01:08:47 +00:00
Vladislav Bolkhovitin
6b29b72695 - Fix lost residual for allowed to mismatch data transfer direction commands
- Fix sending unneeded Control Mode Page MODE SENSE commands. Some devices
   may not support this page, so extra calls only fill logs with pointless warnings



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4565 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-23 01:05:31 +00:00
Bart Van Assche
9202352561 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4564 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-22 06:43:11 +00:00
Bart Van Assche
3e639ad97a scst/README: Move information from the SCST wiki into the Subversion tree
The wiki has been announced to be shut down in 2012Q4 toghether with all
other hosted SourceForge apps, so move the information from there into the
SCST source tree.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-17 17:53:48 +00:00
Bart Van Assche
b025e3a5ca nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4562 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-13 14:27:24 +00:00
Vladislav Bolkhovitin
5273bffc10 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4561 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-12 21:04:28 +00:00
Vladislav Bolkhovitin
9639ade76e Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4560 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-10-11 00:47:36 +00:00