Avoid that suspending activity causes scst_init_threads() to delay.
That delay has been observed to cause "task blocked for more than ...
seconds" complaints.
Reported-by: yangfanlinux <yangfanlinux@gmail.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
(Backport r4189 from trunk)
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@4426 d57e44dd-8a1f-0410-8b47-8ef2f437770f
If no medium is inserted in /dev/sr0, starting SCST with the config
below triggers a kernel oops:
HANDLER vcdrom {
DEVICE vcdrom {
filename /dev/sr0
}
}
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
with some improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@4249 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Since there is a complete_all() / wait_for_completion() pair between both
accesses the volatile keyword is not necessary here (merge r3945 from trunk).
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.0.x@4011 d57e44dd-8a1f-0410-8b47-8ef2f437770f
https://vlnb@scst.svn.sourceforge.net/svnroot/scst/trunk
........
r3950 | vlnb | 2011-12-01 21:46:33 -0500 (Thu, 01 Dec 2011) | 9 lines
According to SPC-4 in the PERSISTENT RESERVE IN full status descriptor
the format of byte 13 is defined as follows:
- The most significant four bits are SCOPE field.
- The least significant four bits are the TYPE field.
Make sure that that byte is filled in according to the specification.
BSD-Signed-off-by: Bart Van Assche <bvanassche@acm.org>
........
r3958 | vlnb | 2011-12-06 21:56:31 -0500 (Tue, 06 Dec 2011) | 21 lines
We try to build FC SAN on Sun T2 server, FC HBA cards used are
QLE2560 and QLE2562, the OS is RHEL6.0 with kernel linux-2.6.32,
scst code version from svn is 3952.
As T2 (SPARC64) is big-endian, which may not be tested sufficently,
we had to fix some endian swap to make qla2x00t work good on it.
The first fix is in q24_build_ctio_pkt(), loop_id from prm->cmd, which
was generated by CPU, should be converted to little-endian when wrapped
in pkt, which will be used by HBA ASIC.
The second fix in qla2x_tgt_def.h, reorder the bit-order of structs'
member, is an attempt in despair, cannot explain why, but it just works!
Besides the programming skills, we cannot get QLogic FC HBA databook,
and have little acknowledge about the driver, the fixes may need to
be refined, so don't hold the comments :)
Signed-off-by: Linwen Deng <linwendeng@gmail.com>
........
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.1.0.x@3974 d57e44dd-8a1f-0410-8b47-8ef2f437770f
https://vlnb@scst.svn.sourceforge.net/svnroot/scst/trunk
........
r3909 | vlnb | 2011-11-04 17:34:10 -0400 (Fri, 04 Nov 2011) | 3 lines
Fix build without CONFIG_SCSI_QLA2XXX_TARGET
........
r3917 | vlnb | 2011-11-08 21:47:23 -0500 (Tue, 08 Nov 2011) | 4 lines
task_mgmt_fn() callback now called under lock and IRQs disabled, so we
need to reschedule to thread during commands unjamming
........
r3923 | vlnb | 2011-11-15 20:53:27 -0500 (Tue, 15 Nov 2011) | 3 lines
Fix incorrect attach_tgt() errors processing in the sysfs build reported by David Pineau <dav.pineau@gmail.com>
........
r3935 | vlnb | 2011-11-22 21:14:38 -0500 (Tue, 22 Nov 2011) | 3 lines
Report target name when session assigned to security group
........
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.1.0.x@3971 d57e44dd-8a1f-0410-8b47-8ef2f437770f
https://vlnb@scst.svn.sourceforge.net/svnroot/scst/trunk
........
r3799 | vlnb | 2011-08-04 22:07:35 -0400 (Thu, 04 Aug 2011) | 37 lines
Modified patch from Bart Van Assche <bvanassche@acm.org>:
The range unmapped by the scst_vdisk handler when processing an UNMAP command
is not correct. The patch below fixes that and also prevents that the following
kernel crash can be triggered on the target:
Call Trace:
[<ffffffffa06b5350>] ? srpt_post_send+0xd0/0x140 [ib_srpt]
[<ffffffff811bb595>] ? cpumask_next_and+0x35/0x50
[<ffffffff810e6296>] shmem_truncate_range+0x7a6/0xa50
[<ffffffffa0612ceb>] ? scst_get_buf_full+0x16b/0x270 [scst]
[<ffffffffa069beb6>] vdisk_exec_unmap+0x1d6/0x4b0 [scst_vdisk]
[<ffffffff813c0cb6>] ? _raw_spin_unlock+0x16/0x40
[<ffffffffa069dadc>] vdisk_do_job+0x5fc/0x950 [scst_vdisk]
[<ffffffffa0605402>] scst_do_real_exec+0xb2/0x400 [scst]
[<ffffffffa06076a7>] scst_exec+0xd7/0x240 [scst]
[<ffffffffa06079b6>] scst_send_for_exec+0x1a6/0x2f0 [scst]
[<ffffffffa06086f8>] scst_process_active_cmd+0x4f8/0x790 [scst]
[<ffffffffa0608a29>] scst_do_job_active+0x99/0x170 [scst]
[<ffffffffa060a3da>] scst_cmd_thread+0x15a/0x3b0 [scst]
[<ffffffff81047470>] ? default_wake_function+0x0/0x20
[<ffffffffa060a280>] ? scst_cmd_thread+0x0/0x3b0 [scst]
[<ffffffff8106dc26>] kthread+0x96/0xa0
[<ffffffff81003cd4>] kernel_thread_helper+0x4/0x10
[<ffffffff8103db01>] ? finish_task_switch+0x51/0xb0
[<ffffffff813c0c7c>] ? _raw_spin_unlock_irq+0x1c/0x40
[<ffffffff813c18b1>] ? restore_args+0x0/0x30
[<ffffffff8106db90>] ? kthread+0x0/0xa0
[<ffffffff81003cd0>] ? kernel_thread_helper+0x0/0x10
Invoking truncate_range() with an end len that is not page-size aligned
triggers it. In other words, with a block size that is below
PAGE_CACHE_SIZE some UNMAP commands could trigger a kernel bug. I think
it's better to print an error message and to skip an UNMAP command
instead of triggering a kernel oops.
........
r3800 | vlnb | 2011-08-08 21:04:57 -0400 (Mon, 08 Aug 2011) | 3 lines
Update of SCST_Gentoo_HOWTO.txt to SCST 2.x. Thanks to Willem Boterenbrood <w.boterenbrood@gmail.com>!
........
r3818 | vlnb | 2011-08-17 20:17:06 -0400 (Wed, 17 Aug 2011) | 3 lines
Fix for forgotten devt initialization in preparing internal commands
........
r3819 | vlnb | 2011-08-17 20:27:12 -0400 (Wed, 17 Aug 2011) | 6 lines
Disable accepting initiator mode commands if initiator mode not enabled
for 23xx- chips as well as suggested by ido benda <idombd@gmail.com>.
This is extension of r3261 to qla2x00_queuecommand().
........
r3823 | vlnb | 2011-08-19 19:20:22 -0400 (Fri, 19 Aug 2011) | 3 lines
Update of SCST_Gentoo_HOWTO.txt from Willem Boterenbrood <w.boterenbrood@gmail.com>
........
r3824 | vlnb | 2011-08-19 19:55:31 -0400 (Fri, 19 Aug 2011) | 3 lines
Fix for one more forgotten initialization in preparing internal commands spotted by kordex@gmail.com
........
r3825 | bvassche | 2011-08-20 10:04:52 -0400 (Sat, 20 Aug 2011) | 1 line
documentation, spelling: Change phisical into physical
........
r3828 | bvassche | 2011-08-22 15:19:56 -0400 (Mon, 22 Aug 2011) | 11 lines
scst: Avoid triggering BUG() on uniprocessor systems
On uniprocessor systems with lock debugging disabled spin_is_locked()
returns false. Disable the spin_is_locked() checks if CONFIG_SMP has not
been defined.
Reported-by: Frank <frank@debian-nas.org>
Signed-off-by: Dave Carroll <dcarroll@astekcorp.com>
Cc: scst-devel <scst-devel@lists.sourceforge.net>
Cc: Frank <frank@debian-nas.org>
........
r3831 | vlnb | 2011-08-25 14:08:45 -0400 (Thu, 25 Aug 2011) | 3 lines
Fix possible crash on rel_tgt_id set on transports without is_target_enabled() defined.
........
r3833 | vlnb | 2011-09-01 14:22:27 -0400 (Thu, 01 Sep 2011) | 5 lines
- Fix possible deadlock between vdev_sysfs_process_get_filename() and vdisk_del_device()
- Cleanups
........
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.1.0.x@3836 d57e44dd-8a1f-0410-8b47-8ef2f437770f