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
- Don't allow to create targets with the same names
- Remove "unused variable" warning on old kernels
- Fix a compiler warning on pre-2.6.35 non-RHEL systems.
- Bug fix: do not try to apply patch readahead-2.6.32.below11.patch on kernel 2.6.32.11 or any later 2.6.32 kernel.
- Removed the constant REPORT_DEVICE_IDENTIFIER from scst/include/scst_const.h because it is not used anywhere in the SCST source tree.
- Expand CONFIG_SCST_PROC too.
- Added #include <linux/slab.h> for kmem_cache_free().
- MultiP must be 1 and HiSup 0
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.1.0.x@3437 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Full buffers must always be processed, otherwise bad things could happen
- Make scst_get_full_buf and scst_put_full_buf consistent with the naming convention
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.1.0.x@3415 d57e44dd-8a1f-0410-8b47-8ef2f437770f
- Docs updated
- Returning of DIRECT contexts by scst_estimate_context() disabled (see comment in the patch why)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
protected by io_context_mutex. The patch below changes that mutex from a
single mutex for all command threads to one mutex per thread pool.
+
Two quickly succeeding command thread management actions, e.g. setting both
threads_num and threads_pool_type via scst.conf, can trigger the bug mentioned
below. That bug can be triggered because kthread_stop() can stop a thread
before it has started. So it can happen that an I/O context is created inside
scst_cmd_thread() but not cleaned up because the thread for which
p_cmd_threads->nr_threads == 1would evaluate to true is never started. The
patch below fixes this by guaranteeing that if an I/O context has been created
for a thread pool that it gets cleaned up too.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
with fixes/cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3152 d57e44dd-8a1f-0410-8b47-8ef2f437770f