Commit Graph

5356 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
c729d1934a scst: minor cleanup
Let's keep it simple without unused functionality



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7192 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-20 03:29:41 +00:00
Vladislav Bolkhovitin
e452378d1e scst: restore locking documentation comments
Better to follow the common rule and always have locking expectations
documented in addition to runtime checks. Partial revert of r7095.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7191 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-20 03:19:54 +00:00
Vladislav Bolkhovitin
36f2612eb1 scst: fix possible NULL dereference in TM code
TM command accessing a non-existing LUN might lead NULL dereference in
scst_call_dev_task_mgmt_fn_done().

Reported-By: <Ilan Steinberg <ilan.steinberg@kaminario.com>>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7190 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-20 03:00:28 +00:00
Vladislav Bolkhovitin
b3758b0db9 scst: compute max_transfer args as long, not int
Compute max_transfer args as long, not int, to avoid overflow when
max_sg_cnt=32768 and PAGE_SHIFT=16 (64K PAGE_SIZE).  Note it is not
only the min() call, but also the << PAGE_SHIFT needs to be long.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-20 02:04:16 +00:00
Vladislav Bolkhovitin
8d3a9f440a qla2x00t: Disable Out-of-order processing by default
From: Quinn Tran <quinn.tran@cavium.com>

Out of order(OOO) processing requires initiator, switch
and target to support OOO. In today¹s environment, none
of the switches support OOO. OOO requires extra buffer
space which affect performance. By turning ON this feature
in QLogic's FW, it delays error recovery because droped
frame is treated as out of order frame. We¹re turning OFF
this option of speed up error recovery.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>

Merge of mainline commit 300af14bdb28157090f0c6f89d244fda940082da

EXPERIMENTAL!



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7188 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-19 02:58:23 +00:00
Vladislav Bolkhovitin
9d21169f8c scst: implement BLOCKIO devices "active" attribute
Intended to be able to load  on passive side as described in
https://sourceforge.net/p/scst/mailman/message/35549446/

Suggested-by: Кирилл Тюшев <kirill.tyushev8@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-19 02:37:49 +00:00
Bart Van Assche
81f80e1708 isert-scst: Fix a race condition that was introduced accidentally in r7184
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7186 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-16 02:04:47 +00:00
Bart Van Assche
b2b15e1d55 scst_local: Fix a race condition
Avoid that the following crash can occur:

general protection fault: 0000 [#1] PREEMPT SMP
RIP: 0010:scsi_is_host_device+0x7/0x20 [scsi_mod]
Call Trace:
 scst_process_aens+0x95/0x1d0 [scst_local]
 scst_aen_work_fn+0x6f/0x120 [scst_local]
 process_one_work+0x20b/0x6c0
 worker_thread+0x4e/0x4a0
 kthread+0x113/0x150
 ret_from_fork+0x31/0x40


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7185 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 18:56:09 +00:00
Bart Van Assche
830369e50d isert-scst: Avoid that shutdown sporadically hangs
Waiting for other threads to release an object using code like
"while (object->refcnt > 0) msleep(100)" without holding a reference
on 'object' is wrong because the memory object points at may be freed
before or while this loop is in progress. Hence introduce a global
portal object count and wait on that count instead of waiting for
the per-portal reference count to reach zero.

The use-after-free was introduced in r6952 ("isert: faster release
of isert_scst module").

See also https://sourceforge.net/p/scst/tickets/2/.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7184 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 18:53:01 +00:00
Bart Van Assche
cda5cadb1c isert-scst: Enable type checking for isert portal pointers
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7183 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 18:49:04 +00:00
Bart Van Assche
b799130680 ib_srpt: Fix a logging statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7182 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 14:55:00 +00:00
Israel Rukshin
28c5d73550 isert-scst: fix isert connection teardown flow
Synchronizing the rdma_disconnect() with the post drain wr
as other ULPs like iSER do.

Signed-off-by: Israel Rukshin <israelr@mellanox.com>

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7181 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 13:45:02 +00:00
Bart Van Assche
8315bfdd0f scst_vdisk: Avoid shifting left by a negative number of bits
scst_calc_block_shift() can return a negative number. Hence avoid
1 << scst_calc_block_shift().  Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7180 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 03:49:39 +00:00
Bart Van Assche
cb070d9a7f scst/include/backport.h: Add a backport of rcu_dereference_protected()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7179 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 03:13:56 +00:00
Bart Van Assche
b4118ea0f1 scst/include/backport.h: Add a kref_read() backport
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 03:06:54 +00:00
Bart Van Assche
4a18e68c3f scst/include/backport.h: Fix kthread_create_on_node() definition
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7177 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 02:55:24 +00:00
Bart Van Assche
3622c0d5cb scst/include/backport.h: Add a comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7176 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 00:55:39 +00:00
Bart Van Assche
b8cfe827be scst/include/backport.h: Remove duplicate definition of kthread_create_on_node()
This patch reverts most of r7168.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7175 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-14 00:42:24 +00:00
Vladislav Bolkhovitin
383ceb0a8e scst: add module parameter to control the copy manager auto assignment
Reported-By: Guru Prasad <gp22online@gmail.com>
Suggested-By: Sebastian Herbszt <herbszt@gmx.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7174 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-13 03:30:07 +00:00
Vladislav Bolkhovitin
69feb6696e fcst: Linux kernel v4.11 build fix
Linux kernel v4.11 build fix.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7173 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-11 04:00:29 +00:00
Vladislav Bolkhovitin
c0758f4699 scst: scst_finish_cmd() not try to left-shift lba of -1
Change scst_finish_cmd() so that it does not attempt to left-shift lba when it
is -1 (the error value).  Left-shifting of a negative value is undefined in C.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7172 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-11 03:57:04 +00:00
Vladislav Bolkhovitin
db31c1d56b scst: nolockdep patch for kernel 4.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7171 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-11 03:52:51 +00:00
Vladislav Bolkhovitin
3f5c04bec9 qla2x00t: update to kernel 4.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7170 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-11 03:51:32 +00:00
Vladislav Bolkhovitin
06503ca3fb scst: nolockdep patch for kernel 4.9
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7169 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-06 01:31:59 +00:00
Bart Van Assche
d1ad88a861 scst: Fix build for kernels before v2.6.39
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7168 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-04 02:56:27 +00:00
Bart Van Assche
386cd25f98 scst_lib: Convert a comment into a runtime check
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7167 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-04 02:45:35 +00:00
Bart Van Assche
3abfda9ec0 scstadmin: Fix a few bugs in the regression test code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7166 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-04 02:36:37 +00:00
Bart Van Assche
642744c9fc Fix spelling of "Ardis Technologies"
Reference: http://www.ddpsan.com/support-sales/about-us.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7165 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 22:32:06 +00:00
Bart Van Assche
b2f00687fd scripts/generate-kernel-patch: Stop applying the put_page_callback and exec_req_fifo patches
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7164 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 18:32:56 +00:00
Bart Van Assche
edebe24bab scst: Fix build for kernels before v2.6.39
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7163 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 14:23:00 +00:00
Bart Van Assche
57b16a2fd8 scst_lib: Fix kernel 2.6.30 build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7162 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 14:13:15 +00:00
Bart Van Assche
acc573a2bb scripts: Update kernel download location
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7161 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 14:10:22 +00:00
Bart Van Assche
7d9994593f qla2x00t: Convert the non-standard %Lx into %llx
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 05:28:29 +00:00
Bart Van Assche
e39d23eb29 scst_sysfs: Fix spelling in a source code comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-02 05:18:05 +00:00
Bart Van Assche
2fcd2f24b0 scst: Kernel v4.12 build fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7158 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-01 21:01:33 +00:00
Bart Van Assche
0c83846917 Surround #include <linux/version.h> with #ifndef INSIDE_KERNEL_TREE / #endif
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7157 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-01 20:26:08 +00:00
Bart Van Assche
2821f808b0 scst_debug: Remove a duplicated #include directive
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-01 20:22:56 +00:00
Vladislav Bolkhovitin
128d2b20a8 scst: add mutex_lock/unlock around scst_alloc_add_acg()
The CONFIG_SCST_PROC build was calling scst_alloc_add_acg() without holding the
scst_mutex.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7155 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-29 01:00:59 +00:00
Vladislav Bolkhovitin
a9dcdfadee scst: create proc/scst_threads with mode S_IRUGO, not 0
Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7154 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-29 00:58:55 +00:00
Bart Van Assche
909247cb3d scst: Port to Linux kernel v4.11
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-27 00:17:22 +00:00
Bart Van Assche
0371382394 scst: Introduce scst_scsi_execute()
This patch does not change any functionality but makes it easier
to port SCST to Linux kernel v4.11.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7152 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-26 23:53:11 +00:00
Vladislav Bolkhovitin
33af3ccb46 ql2x00t: howto update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7151 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 04:15:21 +00:00
Vladislav Bolkhovitin
a09440181c Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7150 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:58:24 +00:00
Vladislav Bolkhovitin
4a4d4a1721 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7149 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:50:03 +00:00
Vladislav Bolkhovitin
2ce8ce38e4 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7148 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:33:13 +00:00
Vladislav Bolkhovitin
7fcfd8f589 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7147 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:21:07 +00:00
Vladislav Bolkhovitin
68fa7e1a0d Copyright updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:19:52 +00:00
Vladislav Bolkhovitin
ed19aa2813 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-22 03:04:34 +00:00
Vladislav Bolkhovitin
a8b24ae319 iscsi_scst: conn_lookup() skips any conn already closing
This change helped a secondary problem I had under valgrind (due to some other
bug) with initiators timing out and reconnecting their sessions faster than the
threads were getting cleaned up (for one thing, valgrind only ever runs one
thread at a time).

It seems logical that the code in conn_lookup() would want to skip any
connection that's already known closing in this case, for the same reason it
searches the list in reverse.  And the dropping connections don't have to drop
in order, so searching in reverse doesn't seem sufficient to avoid finding a
wrong (stale, closing) connection structure.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7144 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-21 01:36:34 +00:00
Vladislav Bolkhovitin
296f133caf iscsi-scst: fix ENOMEM path
In an error path in iscsi_threads_pool_get(), when a new pool cannot be
allocated, if there is a pool on iscsi_thread_pools_list, it passes that back as
an alternative, so return zero in that case.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7143 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-04-21 01:32:07 +00:00