977 Commits

Author SHA1 Message Date
Gleb Chesnokov
1ef10b852d Bump the version number to 3.7.0
These changes have been generated by running the following command:

$ scripts/update-version 3 7 0
2022-12-27 16:47:20 +03:00
Gleb Chesnokov
3961019e74 ib_srpt: Port to Linux kernel v6.1
Support for the following IB changes in the Linux kernel v6.1:
- 91a3f14ec953 ("IB/cm: Remove the service_mask parameter from ib_cm_listen()")
2022-10-27 12:31:00 +03:00
Bart Van Assche
6641fa81bf ib_srpt: Remove the obsolete max_sge_delta kernel module parameter 2022-07-27 20:17:03 -07:00
Bart Van Assche
4b7b3e2c58 ib_srpt: Remove obsolete parameters and update documentation
Support for the ib_srpt_target_<n> target port names was removed in 2015.
Update the documentation that still uses this target port name format.
Remove all references to the obsolete ib_srpt kernel module parameters
use_port_guid_in_session_name and use_node_guid_in_target_name. Remove
the references from srpt/README to target port name formats that are no
longer supported.
2022-07-27 20:14:23 -07:00
Chesnokov Gleb
be99c4abca scst/include/backport.h: Remove WQ_NON_REENTRANT definition
Remove this macro since it is no longer needed after support
was dropped for kernels before 3.10.
2022-01-17 04:51:53 +03:00
Chesnokov Gleb
165285b64b ib_srpt: Remove support for kernel versions before 3.10
The SCST has dropped support for kernels older than 3.10.0 (RHEL 7 / Centos 7) since SCST v3.6.
2022-01-13 17:26:37 +03:00
Chesnokov Gleb
64a8485fe7 Bump the version number to 3.7.0-pre
These changes have been generated by running the following command:

$ scripts/update-version 3 7 0-pre
2022-01-11 16:37:34 +03:00
Bart Van Assche
9c5406664a Bump the version number to 3.6.0
These changes have been generated by running the following command:

$ scripts/update-version 3 6 0
2021-12-29 19:19:14 -08:00
Bart Van Assche
c0151f6cda Bump the version number to 3.6.0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9310 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2021-01-02 23:16:59 +00:00
Bart Van Assche
d3c92ea7aa Bump the version number to 3.5.0
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9231 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-22 03:38:21 +00:00
Bart Van Assche
e1f9a517c8 Port Kconfig files to kernel v5.9
Change '---help---' into 'help'. See also Linux kernel commit f70f74d15ca8
("kconfig: remove '---help---' support") # v5.9.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:07:40 +00:00
Bart Van Assche
d10a7bf5d5 Restore support for building with clang
The previous commit removed support for building with clang. Restore support
for building with clang without breaking cross-compilation support.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9209 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-05 21:23:17 +00:00
Bart Van Assche
8eb850acce Revert "Make it possible to build SCST with clang"
Since commit ecea60a694 breaks cross-compilation, revert it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-05 18:39:38 +00:00
Bart Van Assche
ac6485df69 ib_srpt: Port to Linux kernel v5.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9180 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-16 03:54:37 +00:00
Bart Van Assche
143e9c9684 ib_srpt: Use a workqueue for processing RDMA completions
Use a workqueue for processing RDMA completions instead of creating one
kernel thread per RDMA channel. This change improves performance if the
number of RDMA channels is large by reducing the number of context
switches between kernel threads while processing RDMA completions. An
additional change is that srpt_set_ch_state() no longer wakes up the
RDMA completion context but that srpt_cm_rtu_recv() wakes up the RDMA
completion context instead.
    
See also https://github.com/bvanassche/scst/issues/33 .


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9178 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-03 04:56:01 +00:00
Bart Van Assche
98285d10fd Various fixes for issues detected by checkpatch
- Return EOPNOTSUPP instead of ENOTSUPP to user space.
- Do not terminate macro definitions with a trailing semicolon.
- Do not initialize static variables to zero.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9176 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-02 02:06:04 +00:00
Bart Van Assche
186798cec4 Use the fallthrough macro instead of a comment
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9166 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-09-16 14:28:36 +00:00
Bart Van Assche
ecea60a694 Make it possible to build SCST with clang
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9089 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-08-02 21:19:24 +00:00
Bart Van Assche
bd3355500a iscsi-scst, srpt: Rename the PRE_CFLAGS variable into CONFTEST_FLAGS
The latter name reflects better the role of this variable. Remove the
CPPFLAGS assignment from srpt/src/Kbuild because it is not useful.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9082 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-26 03:34:35 +00:00
Bart Van Assche
93c2711530 iscsi-scst, srpt: Modify the message that reports which kernel headers are used
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9080 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-26 03:31:02 +00:00
Bart Van Assche
7cfc811542 Rename srpt/src/Makefile into srpt/src/Kbuild
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9079 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-26 02:58:29 +00:00
Bart Van Assche
856bd8c1a1 configure tests: Rename Makefiles into Kbuild
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9078 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-26 02:52:51 +00:00
Bart Van Assche
2029062924 iscsi-scst, ib_srpt: Add a MODULE_LICENSE() to the configure tests
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9077 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-26 00:53:52 +00:00
Bart Van Assche
4f36320d77 ib_srpt, iscsi-scst: Add the configure tests necessary for building against kernel v5.8
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9073 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-25 14:42:04 +00:00
Bart Van Assche
8a22ef6289 ib_srpt, iscsi-scst: Port to Linux kernel v5.8
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9060 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-25 14:09:23 +00:00
Bart Van Assche
502355bc8d srpt/Makefile: Revert a change that has been checked in accidentally
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9058 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-19 02:58:08 +00:00
Bart Van Assche
0a0a1bebe1 Ignore */conftest/*/build-output*.txt files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9057 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-19 02:55:33 +00:00
Bart Van Assche
65d05a86d5 ib_srpt: Fix ARM compilation
The first argument of do_div() must have type uint64_t on the ARM architecture.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9056 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-19 01:26:37 +00:00
Bart Van Assche
7569ddaf2e Makefiles: Remove -Wextra
Since not all kernel header files are compatible with -Wextra, remove -Wextra.
To enable -Wextra, build SCST with W=1.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9054 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-19 01:18:24 +00:00
Bart Van Assche
cf909e3e16 Makefiles: If both KDIR and KVER have been set, preserve KDIR
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9052 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-19 00:00:49 +00:00
Bart Van Assche
47403656ee Make 'make clean' remove all build files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9038 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-05 02:08:55 +00:00
Bart Van Assche
212fd12cba iscsi-scst, srpt: Improve run_conftest
Add -Wno-deprecated-declarations to the compiler flags for RHEL and CentOS.
Save the output of the build process such that it can be inspected easily.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9037 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-07-05 02:06:21 +00:00
Bart Van Assche
c51cf132e1 iscsi-scst: Add network namespace support
This patch makes it possible to run the SCST iSCSI target software inside
a Docker container that uses another network namespace than the default.
    
See also https://github.com/bvanassche/scst/issues/24 .


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9002 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-06 16:27:41 +00:00
Bart Van Assche
9be61ba538 Move KBUILD_EXTRA_SYMBOLS definitions into the kernel Makefiles
$(KBUILD_EXTRA_SYMBOLS) is not only used at compile time but also at link
time. Move the $(KBUILD_EXTRA_SYMBOLS) definitions such that it is
available both at compile time and at link time.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9000 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-01 02:15:47 +00:00
Bart Van Assche
80ac4d2810 Use $(src) instead of $(KBUILD_EXTMOD)
While $(src) is always defined, $(KBUILD_EXTMOD) is only defined when
building code as an external module.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8999 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-01 02:12:09 +00:00
Bart Van Assche
f7fe23928f Change $(MODULE_SYMVERS) into Module.symvers
Or in other words, drop support for kernel versions before 2.6.18.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8998 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-06-01 02:11:16 +00:00
Bart Van Assche
ac0de9d485 ib_srpt: Limit the number of scatter/gather elements in RDMA READs to max_sge_rd
Additionally, declare the max_sge_delta parameter obsolete.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8983 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-25 18:19:45 +00:00
Bart Van Assche
52497bb8b6 ib_srpt: Introduce a new local variable in srpt_map_sg_to_ib_sge()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8982 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-25 18:18:02 +00:00
Bart Van Assche
51dc30f27b ib_srpt: Fix the build for kernel versions before v5.3
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8980 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-24 15:57:29 +00:00
Bart Van Assche
67fad5fb7b ib_srpt: Backport the max_sge_delta calculation to kernel versions < v4.17
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8978 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-23 23:48:31 +00:00
Bart Van Assche
a8d1d39613 ib_srpt: Reduce the value of max_sge_delta
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8949 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-22 17:11:27 +00:00
Bart Van Assche
66b2a1ff73 ib_srpt: Report retries with debug level instead of error level
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8944 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 22:21:04 +00:00
Bart Van Assche
5ff1a5efb2 scst: Add more wait list state checks
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8943 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 22:18:13 +00:00
Bart Van Assche
27ab15f573 ib_srpt: Use kvmalloc() instead of vmalloc()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8941 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 22:14:31 +00:00
Bart Van Assche
de74677c56 ib_srpt: Remove two superfluous assignments
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8940 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 22:13:11 +00:00
Bart Van Assche
b2536f47cf ib_srpt: Reduce QP max_recv_sge to 1
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8939 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 22:05:51 +00:00
Bart Van Assche
543989b3a2 ib_srpt: Prevent that large RDMA transfers trigger QP termination
Running fio at the initiator side with buffer size 1 MiB and when using
direct I/O triggers the following error with a ConnectX-3 and Linux kernel
v4.19 or later or CentOS 7.7 or later at the target side:

ib_srpt: RDMA t 4 for idx 20 failed with status 5. If this has not been triggered by a cable pull, please check the involved IB HCA's and cables.

This was observed with firmware version 2.42.5000 but this is probably
independent of the firmware version. Fix this by reducing the send SGE QP
limit. This patch increases ch->max_recv_sge for older kernel versions.

Reported-by: Chesnokov Gleb <Chesnokov.G@raidix.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8938 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-19 19:21:26 +00:00
Bart Van Assche
21edb121be ib_srpt: Fix handling of iWARP logins
The path_rec pointer is set for IB and RoCE logins but not for iWARP
logins. Hence check the path_rec pointer before dereferencing it.

See also upstream commit cbca2442a096 ("RDMA/srpt: Fix handling of iWARP
logins") # v5.5.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8934 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-17 21:02:43 +00:00
Bart Van Assche
d12b0a0d91 Fix spelling in documentation and source code
See also https://github.com/bvanassche/scst/pull/20.

[ bvanassche: left out qla2x00t-32gbit changes and changed patch description ]



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8920 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-15 18:53:48 +00:00
Bart Van Assche
d045ff5e26 srpt: Make zero-copy mode compatible with the scst_user device handler
The scst_user device handler allocates its own data buffers. If ib_srpt
uses zero-copy mode, copy data as required between the device handler and
zero-copy buffer.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8914 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-05-14 16:40:05 +00:00