Commit Graph

4745 Commits

Author SHA1 Message Date
Bart Van Assche
175463ca84 isert-scst: Fix race condition between login request and scst teardown flow
On scst teardown we call rdma_disconnect() on all connections.
this moves the qps to error state and flushes all the wc, including
the drain wc which will results in kref_put of the connection.

In a race condition with the connection request, we might be only in
the init stage of the ref, and calling kref_put will result in refcount
0 and freeing the connection while establishing it.

Call the first kref_get before rdma_accept() to prevent this race.

Signed-off-by: Ariel Nahum <arieln@mellanox.com>
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6486 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-27 17:53:32 +00:00
Bart Van Assche
3732ee39f8 scst: Introduce scst_pr_init() and scst_pr_cleanup()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6485 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-26 23:34:36 +00:00
Bart Van Assche
2e5d1a4a6e scst_user: Suppress a 'sparse' complaint
Avoid that sparse complains about casts that remove the address space
of an expression. This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6484 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-26 18:58:51 +00:00
Bart Van Assche
a607b9c130 scst: Convert a printk(KERN_INFO) statement into a pr_info() statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6483 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 21:51:10 +00:00
Bart Van Assche
dba2b1ac6b isert: Only set WR next pointer when needed
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6482 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 21:40:41 +00:00
Bart Van Assche
4fcec5f359 isert: Only set signalled flag when needed
Do not set signalled flag and then zero it for unneeded cases.
Instead only set it when necessary
    
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6481 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 21:40:11 +00:00
Bart Van Assche
58cfc4f8b8 iscsi: Only use thread pool for TCP but not for iSER
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6480 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 21:39:39 +00:00
Vladislav Bolkhovitin
63753d0572 scst: improve logging
Better to see in the logs in (S)IRQs wrong thread ID, than no thread ID under IRQ locks



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6479 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 03:44:31 +00:00
Vladislav Bolkhovitin
45d7f40ec1 Improve release logging
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6478 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 02:57:51 +00:00
Vladislav Bolkhovitin
20f523a1b3 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6477 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-25 02:56:08 +00:00
Bart Van Assche
52d98eb15a nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6476 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-22 01:02:40 +00:00
Bart Van Assche
fc3c728625 scst_pres: Rename tid_size() into scst_tid_size()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-14 16:08:18 +00:00
Bart Van Assche
06b83288fc nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6472 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-11 03:15:54 +00:00
Vladislav Bolkhovitin
24adbb53f8 scst: minor typo fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6471 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-10 21:46:19 +00:00
Bart Van Assche
c84af1f153 regression tests: Unload iSER target driver before the iSCSI target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6470 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 21:24:57 +00:00
Bart Van Assche
fc11600c06 regression tests: Unload iSER target driver before the iSCSI target driver
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6469 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 20:42:21 +00:00
Vladislav Bolkhovitin
77d6520882 fileio_tgt: small logging improvement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6468 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 03:11:37 +00:00
Vladislav Bolkhovitin
51552b5b91 scst_user: microoptimization/cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6467 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 03:06:23 +00:00
Vladislav Bolkhovitin
90ad49cbae scst_user: optimize performance by exchanging multiple commands/responses per IOCTL
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6466 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 02:57:14 +00:00
Vladislav Bolkhovitin
870b203225 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6465 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 02:54:02 +00:00
Vladislav Bolkhovitin
119a2d8356 Follow up for r6463
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6464 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-08 02:53:02 +00:00
Vladislav Bolkhovitin
2a5c739567 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6463 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-07 02:30:42 +00:00
Bart Van Assche
4c79dee448 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-05 04:56:26 +00:00
Bart Van Assche
7a9e1f1889 isert: Limit isert_nr_devs parameter to maximum we support
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6461 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-03 18:48:24 +00:00
Bart Van Assche
9105e9cf5d isert: Don't overwrite userspace if insufficient buffer is provided
Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6460 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-08-03 18:46:16 +00:00
Vladislav Bolkhovitin
e5e54f312b iscsi-scst: Move old TM response dropping to preparing new response stage
The second TM request can come while the old one, response for which is
going to be delayed, is still being processed, hence no response
prepared yet, so the delayed response should be dropped on the stage of
the new response preparing. Otherwise in this place the old delayed
response will trigger BUG_ON().



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6456 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-31 01:09:58 +00:00
Bart Van Assche
06ef46415c /etc/init.d/scst: Suppress an error message if iscsi-scstd is not installed
Avoid that the following error message is printed when stopping
or starting SCST if iscsi-scstd has not been installed:

# /sbin/service scst restart
which: no iscsi-scstd in
(/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin)
Restarting SCST

Signed-off-by: Hiroyuki Sato <hiroysato@gmail.com>
[bvanassche: Eliminated ISCSI_DAEMON variable]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6436 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-29 17:20:43 +00:00
Bart Van Assche
058ad7ac91 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6435 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-29 17:14:28 +00:00
Bart Van Assche
b9f3fdb66b ib_srpt: Correct a regular expression in the README
Based on a patch from Hiroyuki Sato <hiroysato@gmail.com>.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6434 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-28 15:46:29 +00:00
Bart Van Assche
69ff2ed928 ib_srpt: Clarify RoCE documentation
This is a modified version of a patch supplied by
Hiroyuki Sato <hiroysato@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6433 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-28 15:40:12 +00:00
Bart Van Assche
14c82f892d /etc/init.d/scst: Fix stopping SCST with iSER loaded
Commit r6420 broke scst unloading, since isert_scst must be
unloaded before iscsi_scst.

Additionally, fix another possible cause of failing to unload
isert_scst. With iSER (RDMA CM to be exact) it may take up to
about 50 seconds to receive disconnected event if the remote end
is for some reason unreachable, e.g. becauase of a cable problem
or power loss/forced reboot on initiator side. This is due to MAD
send timeout.

Signed-off-by: Yan Burman <yanb@mellanox.com>
[bvanassche: modified this patch such that it uses unload_kmod()]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6432 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-28 15:28:59 +00:00
Bart Van Assche
bc070bc1bc scripts/specialize-patch: Handle #if 0 / #elif statement combinations correctly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6431 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-28 05:38:07 +00:00
Bart Van Assche
2609ee1b86 srpt: Remove an empty directory
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6430 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-27 17:33:48 +00:00
Bart Van Assche
2715178d01 /etc/init.d/scst: Introduce function unload_kmod()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6429 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-27 16:10:36 +00:00
Bart Van Assche
7a2d9043f6 isert: Fix use-after-free when work requests were submitted after drain_wr
We were submitting work requests sometimes after the drain_wr,
so we would try to process flushes on something that is already
destroyed. This can be seen with very high login/logout load.

Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6428 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-27 15:26:09 +00:00
Bart Van Assche
6c0a869007 isert-scst: Linux kernel v4.2 ib_create_cq() build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6427 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 23:57:42 +00:00
Bart Van Assche
0651bc1e4e ib_srpt: Linux kernel v4.2 ib_create_cq() build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6426 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 23:49:48 +00:00
Bart Van Assche
d05518f5bc isert-scst: Kernel v4.2 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6425 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 23:47:50 +00:00
Bart Van Assche
5f95edc612 ib_srpt: Test whether ib_create_send_mad() needs a base_version argument
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6424 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 23:24:26 +00:00
Bart Van Assche
87b6fde56d ib_srpt: Linux kernel v4.2 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6423 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 22:50:25 +00:00
Bart Van Assche
a771b35830 scst_targ: Kernel 4.2 build fix
Sebastian Herbszt <herbszt@gmx.de>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6422 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 21:52:40 +00:00
Bart Van Assche
8eb3f31eea iscsi-scst: Fix parameter order in a debug statement
Signed-off-by: Alexey Obitotskiy <mobbitster@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6421 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 21:50:51 +00:00
Bart Van Assche
8f49cd43bc /etc/init.d/scst: Avoid that starting SCST fails with CONFIG_INFINIBAND=n
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6420 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-14 18:26:38 +00:00
Bart Van Assche
e75e67bb51 qla2xxx: Fix indentation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6419 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-11 03:46:28 +00:00
Bart Van Assche
ebcfc73439 isert: Allocate sge and wr structures dynamically
In order to be able to support large block sizes (larger than 512K),
we allocate required structured in a lazy fashion. This way we both support
large block sizes (over 512K and even over 1M). We also lower memory footprint
when smaller block sizes are used.

Signed-off-by: Yan Burman <yanb@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6418 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-11 03:41:15 +00:00
Bart Van Assche
d1c2869292 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6417 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-10 23:53:27 +00:00
Bart Van Assche
993f290908 isert-scst: Port this driver to RHEL 5
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6416 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-10 22:27:37 +00:00
Bart Van Assche
ae9de304c4 scst: Several RHEL 5 build fixes
Move the get_unaligned_*() functions up such that these occur
before the T10-PI functions. Backport the definition of
VARIABLE_LENGTH_CMD. Make scst_dif_crc_fn() build on RHEL 5
systems.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6415 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-10 22:26:43 +00:00
Bart Van Assche
f92a917d45 iscsi-scst: Suppress strict aliasing compiler warnings
Avoid that the compiler reports warnings about strict aliasing when
building iscsi-scst on RHEL 6. This patch does not change any
functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6414 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-10 22:22:57 +00:00
Bart Van Assche
84d90ac96e scst.h: Backport more cpumask.h functions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-10 16:04:27 +00:00