Commit Graph

666 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
e35e79706e Merged revisions 6693-6701 via svnmerge from
svn://svn.code.sf.net/p/scst/svn/trunk

........
  r6693 | vlnb | 2015-11-17 19:59:30 -0800 (Tue, 17 Nov 2015) | 5 lines
  
  scst: Add user space control for suspend/resume activities
  
  Useful to speed up mass management
........
  r6694 | vlnb | 2015-11-17 20:09:50 -0800 (Tue, 17 Nov 2015) | 6 lines
  
  scst: Rework Copy Manager's sysfs interface
  
  The old version had management incompatible with scstadmin and had
  issues with LUNs management.
........
  r6695 | bvassche | 2015-11-18 11:36:01 -0800 (Wed, 18 Nov 2015) | 8 lines
  
  scst: Make it easier to build without DLM support
  
  With this change all that is required to build without DLM support
  is to add the following in scst_priv.h:
  
  #undef CONFIG_DLM
  #undef CONFIG_DLM_MODULE
........
  r6696 | bvassche | 2015-11-18 14:10:03 -0800 (Wed, 18 Nov 2015) | 2 lines
  
  scst_pres: Suppress a compiler warning when building against a kernel with no DLM support
........
  r6697 | bvassche | 2015-11-18 14:10:33 -0800 (Wed, 18 Nov 2015) | 1 line
  
  scst_vdisk: Kernel v4.4 build fix
........
  r6698 | bvassche | 2015-11-18 14:10:54 -0800 (Wed, 18 Nov 2015) | 1 line
  
  ib_srpt: Kernel v4.4 build fix
........
  r6699 | bvassche | 2015-11-18 14:11:37 -0800 (Wed, 18 Nov 2015) | 1 line
  
  isert-scst: Port to Linux kernel v4.4
........
  r6700 | bvassche | 2015-11-18 14:44:29 -0800 (Wed, 18 Nov 2015) | 1 line
  
  scst: Do not build cluster PR support if CONFIG_SCST_NO_DLM has been set
........
  r6701 | vlnb | 2015-11-18 21:20:43 -0800 (Wed, 18 Nov 2015) | 3 lines
  
  scst: fix explicit ALUA disabled DIF type 2 handling
........


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.1.x@6702 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-11-19 05:21:59 +00:00
Vladislav Bolkhovitin
408ae374ba Merged revisions 6596-6674,6679 via svnmerge from
svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk



git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.1.x@6681 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-11-12 03:57:17 +00:00
Vladislav Bolkhovitin
5773b2c3ec Version updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.1.x@6592 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-11-06 06:13:58 +00:00
Bart Van Assche
a8ecf61074 isert: Rename a function
Signed-off-by: Ariel Nahum <arieln@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-10-29 15:57:32 +00:00
Bart Van Assche
0a2cdd1f64 iscsi-scst/kernel/Makefile.in-kernel: Sort file names alphabetically
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-10-28 21:11:06 +00:00
Bart Van Assche
46202aa823 isert: Fix null dereference in isert_cmnd allocation code
In a state where the list isert_conn->tx_free_list is empty
(mostly under traffic), we might fail to receive a command from
the isert command pool. This will result in later null deref.

In this case, busy-wait until a command will be available (will
be freed by the receive context).

[2158233.952087] BUG: unable to handle kernel NULL pointer dereference at (null)
[2158233.956023] IP: [<ffffffffa04e14d0>] isert_pdu_send+0xc0/0x1f0 [isert_scst]
....
[2158233.956023]  [<ffffffffa04d98c8>] ? isert_cmnd_alloc+0x78/0x110 [isert_scst]
[2158233.956023]  [<ffffffffa045b5a0>] req_cmnd_release+0x50/0x130 [iscsi_scst]
[2158233.956023]  [<ffffffffa04622cb>] iscsi_send_nop_in+0x19b/0x370 [iscsi_scst]

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


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6554 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-10-28 16:55:48 +00:00
Bart Van Assche
bd6d12aa38 isert-scst: Kernel v4.3 build fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6521 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-09-29 00:07:48 +00:00
Bart Van Assche
0cbd279a34 isert-scst: Fix a checkpatch complaint about whitespace
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6506 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-09-16 16:31:01 +00:00
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
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
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
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
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
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
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
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
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
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
Vladislav Bolkhovitin
1656efe689 iscsi-scst: small post-r6315 cleanup
Avoid that rd_task declared when it is not used



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6408 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-07-03 04:21:52 +00:00
Bart Van Assche
75369451a5 isert-scst/Kconfig: Add InfiniBand dependency
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6402 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-25 14:12:54 +00:00
Bart Van Assche
79c8bf1f7c iscsi-scst, isert-scst: One trace flags variable per kernel module
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6397 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-23 15:01:17 +00:00
Bart Van Assche
f0e98ee4b2 isert-scst: Build fix for older kernel versions (< 2.6.29)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6395 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-19 14:06:05 +00:00
Bart Van Assche
46915ef3e5 iscsi-scst: Fix a syntax error
Preprocessor directives are not allowed in argument lists of a macro.
This patch reverts r6317.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6393 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 05:00:20 +00:00
Bart Van Assche
11df045449 iscsiadm: Fix a resource leak in an error path
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6389 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:32:53 +00:00
Bart Van Assche
bb0a7c894a iscsi-scstd: Annotate a fall-through for Coverity
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6388 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:32:27 +00:00
Bart Van Assche
476d0ba898 iscsi-scstd: Constify several function arguments
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6387 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:32:02 +00:00
Bart Van Assche
f05dfcf88f iscsi-scstd: Suppress a compiler warning
Avoid that gcc reports the following compiler warning:
    
message.c:197:44: warning: 'rsp_data_sz' may be used uninitialized in this function [-Wmaybe-uninitialized]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6386 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:31:20 +00:00
Bart Van Assche
8a4e41fb44 iscsi-scstd: Allow the compiler to inline functions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6385 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:30:40 +00:00
Bart Van Assche
a8da0107f8 iscsiadm: Fix a resource leak
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6380 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:28:02 +00:00
Bart Van Assche
ad38432332 iscsiadm: Fix strerror() argument
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6379 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:27:41 +00:00
Bart Van Assche
a14df39942 iscsiadm: Do not allocate more memory than needed
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6378 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:27:18 +00:00
Bart Van Assche
ff2b660264 iscsiadm: Fix a file descriptor leak in an error path
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6377 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:26:35 +00:00
Bart Van Assche
f5f85b95fb iscsi-scstd: Fix a resource leak in an error path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6376 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:26:08 +00:00
Bart Van Assche
a6121b03c8 iscsi-scstd: Fix a potential file descriptor leak
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6375 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:25:42 +00:00
Bart Van Assche
74b4104994 iscsi-scstd: Avoid that Coverity complains about a use-after-free
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6374 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:25:05 +00:00
Bart Van Assche
b3f49a0a17 iscsi-scstd: Annotate fall-throughs for Coverity
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6373 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:24:25 +00:00
Bart Van Assche
102d8d54c9 iscsi-scstd: Move two local variables to suppress a Coverity complaint
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6372 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:24:03 +00:00
Bart Van Assche
41caee3148 iscsi-scstd: Fix a file descriptor leak in an error path
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6371 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:23:38 +00:00
Bart Van Assche
21b60063a9 iscsi-scstd: Fix a dereference-before-null-check
Detected by Coverity.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6370 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:23:14 +00:00
Bart Van Assche
b099782023 iscsi-scstd: Fix a memory leak in the iSNS code
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6369 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:22:46 +00:00
Bart Van Assche
dfcb53a9b2 iscsi-scstd: Rearrange driver major number lookup code
Introduce a function for looking up the driver major number.
This patch does not change any functionality but makes the source
code easier to read and also makes it easier for Coverity to
analyze this code.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6368 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:22:14 +00:00
Bart Van Assche
165b0f1d10 iscsi-scstd: Improve create_and_open_dev() robustness
Reset 'devn' if the sscanf() return value is lower than two.
Based on a Coverity report.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6367 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:21:28 +00:00
Bart Van Assche
d70b1e39c0 iscsi-scstd: Fix a dereference-before-null-check
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6366 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:20:21 +00:00
Bart Van Assche
40a90a705d isert-scst: Add address length check in isert_listen_ioctl()
Detected by Coverity.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6365 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2015-06-17 00:19:27 +00:00