Commit Graph

7013 Commits

Author SHA1 Message Date
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
e3c8aedb2c scst_event: Fix the code that copies the CDB of the command to be aborted
I came across this accidentally while looking up the users of the
cmd_to_abort pointer.

Fixes: 297d268a7a ("SCST events infrastructure"; r6574)



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9230 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 23:58:29 +00:00
Bart Van Assche
5826f2c8de scst: Fix two bugs in error paths
Wait for percpu_ref_kill() to finish before calling percpu_ref_exit().
This patch fixes the following complaint:

WARNING: CPU: 7 PID: 56710 at lib/percpu-refcount.c:110 percpu_ref_exit+0x28/0x30
RIP: 0010:percpu_ref_exit+0x28/0x30
Call Trace:
 scst_free_device+0x89/0x120 [scst]
 scst_register_virtual_device_node+0x27a/0x4f0 [scst]
 vdisk_add_blockio_device+0x1fa/0x3d0 [scst_vdisk]
 scst_devt_mgmt_store_work_fn+0x21b/0x2d0 [scst]
 sysfs_work_thread_fn+0xef/0x400 [scst]
 kthread+0x112/0x130

Fixes: c5ff6adeae ("Fix unloading of scst_vdisk while I/O is ongoing"; r9048)



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9229 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 22:06:06 +00:00
Bart Van Assche
e3d187f6af scripts/kernel-functions: Apply kernel patches more selectively
Only try to apply kernel patches that should apply such that 'patch' does
not report any error messages that some patches fail to apply.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9228 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 20:56:58 +00:00
Bart Van Assche
cf4a11725a scst: Unbreak the non-RHEL build
This patch is a fix for r9221.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9227 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 19:54:08 +00:00
Bart Van Assche
ff294b83e7 qla2x00t: Build fix for RHEL / CentOS 8.3
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9226 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-21 19:21:28 +00:00
Bart Van Assche
8ddd93ee2a scripts/kernel-functions: Remove an UEK R4 patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9225 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 22:16:51 +00:00
Bart Van Assche
22952ce0a2 nightly build: Remove UEK R4
SCST does not build against UEK R4.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9224 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 21:51:19 +00:00
Bart Van Assche
21c519918d regression tests: Disable branch profiling in the kernel configuration
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9223 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 21:41:19 +00:00
Bart Van Assche
245920e759 nightly build: Add the CentOS 8.3 kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9222 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 04:26:58 +00:00
Bart Van Assche
5f2e23c23b scst, scst_local: Port to RHEL / CentOS 8.3
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9221 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 04:26:40 +00:00
Bart Van Assche
ab65209f50 scripts/run-regression-tests: Improve support for UEK kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:40:29 +00:00
Bart Van Assche
81ecb3bd6a scripts: Remove all references to the mpt driver
Additionally, make scripts/run-regression-tests build the qla2x00t-32gbit
driver.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9219 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:39:11 +00:00
Bart Van Assche
5e2e7bca82 scripts/run-regression-tests: More Linux kernel v5.10 fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:22:47 +00:00
Bart Van Assche
6c37ea9023 scripts/run-regression-tests: Fix the build against Linux kernel v5.10
From the Linux kernel help text:

  modules_prepare - Set up for building external modules


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9217 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 02:16:20 +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
7657f17bf5 scripts/kernel-functions: Source code cleanup
Fix a few shellcheck warnings, swap two if-statements and add a few comments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-20 00:59:42 +00:00
Bart Van Assche
5a1f212ce6 nightly build: Include the Oracle UEK kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-19 17:51:00 +00:00
Bart Van Assche
6c47d7332d scst_pres: Revert r9114
In contrast with the description of that commit, commit r9114 changes the
functionality of the scst_pres code. Hence revert that commit.

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


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9213 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-17 19:53:46 +00:00
Bart Van Assche
a7cf961c4a scst/ChangeLog: Document supported kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-15 05:01:00 +00:00
Bart Van Assche
9a7f099e14 ChangeLog: Summarize v3.5 changes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-14 04:07:56 +00:00
Vladislav Bolkhovitin
dc1e3d786a Problem statement: Applications that are capable of running as Fibre
Transport Target mode server need to able to function when running in
containerized form factor in a secure and multi-tenant platform.

Solution: Such applications when containerized can run in any container
based platform such as Kubernetes/OpenShift or a custom one. These
applications are generic in nature and all they need is access  to SCST
user storage device driver (/dev/scst_user). The security policy of the
platform may not allow these applications to manage Fibre Channel (FC)
port and /sys file-system. The platform, however, can manage the FC ports
on behalf of these applications. The containerized applications can
remain generic in nature and run on any containerized platforms. The
sequence of operations would be 1. The platform converts the desired FC
ports to target mode prior to starting the containerized application 2.
The application does device registration using exported the SCST user
storage device driver 3. The platform, at this point, asynchronously adds
FC port LUNs to the user device registered by the application. As the
application inside the container can auto or manual restart
asynchronously, the platform would add the LUNs every time the
application does device registration.
 
Patch description: The SCST event mechanism is leveraged to achieve the
asynchronous LUN additions when application does device registration. The
current set of SCST events is extended to send a new event whenever there
is a virtual user device registration happens. The platform can watch for
the specific event and make business logic decisions to allow target mode
applications function securely. By extending the set of event, the SCST
module will be friendly to containerized applications and platforms.

Signed-off-by: Vikas Goel <vikas.goel@veritas.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9210 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-08 17:06: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
f9ea2bdc4d nightly build: Add the CentOS 8.2 baseline kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9198 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-12-02 18:00:22 +00:00
Bart Van Assche
a673470ce3 scst, iscsi-scst: Use struct kvec instead of struct iovec for kernel data
This patch does not change any functionality but removes multiple __force
__user casts.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9197 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-27 03:45:16 +00:00
Bart Van Assche
02f350c8a7 scst_vdisk: Rename vdisk_alloc_iv() into vdisk_alloc_sync_kvec()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9196 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-27 03:26:50 +00:00
Bart Van Assche
e3e4c954b2 scst_vdisk: Rename vdisk_alloc_kvec() into vdisk_alloc_async_kvec()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9195 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-27 03:24:50 +00:00
Bart Van Assche
f3fc455a04 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9194 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-25 03:43:37 +00:00
Bart Van Assche
54545b43e5 scst: Rename the old version of scst_vfs_unlink_and_put()
See also commit c5e725f33b73 ("Move struct path into its own header"; v2.6.25).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9193 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 16:08:41 +00:00
Bart Van Assche
e9299277fd scst: Use kern_path() from kernel version v2.6.28 on
See also commit d181146572c4 ("[PATCH] new helper - kern_path()"; v2.6.28).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9192 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 16:07:50 +00:00
Bart Van Assche
a7214ad3d1 scst: Port scst_readv() and scst_writev() to Linux kernel v5.10
Additionally, prevent that these functions trigger memory allocation if
vlen > 8.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9191 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 16:07:09 +00:00
Bart Van Assche
e93e3cd2fb scst/include/backport.h: Port READ_REF_COUNT() to Linux kernel v5.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9190 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 15:59:23 +00:00
Bart Van Assche
fd5b318880 iscsi-scst: Port to Linux kernel v5.10
mm_segment_t, get_fs() and set_fs() have been removed from Linux kernel
v5.10. Instead of adding more #ifdef / #endif directives, provide backports
for this typedef and these functions in iscsi_scst.h.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9189 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 15:58:00 +00:00
Bart Van Assche
9ac77f979d scst: Simplify the kernel_write() backport
Instead of duplicating some of the scst_writev() implementation, always call
scst_writev().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9188 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 15:56:18 +00:00
Bart Van Assche
2f58d0e48d scst: Remove superfluous get_fs() and set_fs() calls
Calling set_fs(KERNEL_DS) before calling path_lookup() or kern_path() is
not necessary since the arguments of these functions point at kernel data.
Hence remove the get_fs() / set_fs() calls from around these function calls.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9187 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-23 15:54:35 +00:00
Bart Van Assche
efca492e93 fcst: Revert r9181
This change is necessary for kernel v5.11 instead of v5.10 so revert it
for now.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9186 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-22 03:08:08 +00:00
Bart Van Assche
39b6e87935 scst: Unbreak the build for kernel 4.1.12-124.45.2.el7uek.x86_64
Apparently this kernel has kvmalloc_node(), kvmalloc() and kvzalloc()
backports but no kvmalloc_array() backport.

See also the following commits:
* c027b9de7e ("scst: Port to UEK 4")
* 23a2753a9c ("scst/include/backport.h: Add backports for additional kernel functions, constants and data structures")

Reported-by: Gilbert Standen <gilstanden@hotmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9185 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-21 03:04:57 +00:00
Bart Van Assche
a952a3584b scst: Unbreak the build for kernel versions 3.0..4.16
Reported-by: Gilbert Standen <gilstanden@hotmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9184 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-19 03:47:09 +00:00
Bart Van Assche
af0b6a2895 scripts/specialize-patch: Handle _COMPAT_LINUX_MM_H correctly
Fixes: 5930b4db71 ("scst: Fix the MOFED build")


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9183 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-19 03:46:04 +00:00
Bart Van Assche
ca9d681fd0 scst: Fix the kobj_ns_grab_current() and kobj_ns_drop() backports
Reported-by: Gilbert Standen <gilstanden@hotmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9182 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-18 01:30:33 +00:00
Bart Van Assche
1686029f60 fcst: Port to Linux kernel v5.10
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9181 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-16 04:34:24 +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
aaf96673e6 scst: Unbreak the UEK 4 build
UEK 4 RPMs like kernel-uek-4.14.35-2025.402.2.1.el7uek.x86_64 include a
backport of cpu_to_be32_array() and kvcalloc(). Hence disable the SCST
backports for these functions when building against UEK 4.

Reported-by: Gilbert Standen <gilstanden@hotmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9179 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-14 17:20:30 +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
0ab62f9527 Fix more issues detected by checkpatch
Leave a blank line between declarations and definitions. Remove duplicate
words from comments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9177 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-02 02:07:17 +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
ed163b4241 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9175 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-11-01 22:54:47 +00:00
Bart Van Assche
20e0fe94f5 scst: Fix allocation of memory for latency statistics for the GFP_ATOMIC case
See also https://sourceforge.net/p/scst/tickets/43/.

Reported-by: Steven Siwinski <steve-atto@users.sourceforge.net>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9174 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-10-29 03:23:04 +00:00
Bart Van Assche
70fd08dde6 scst: Also install the build_mode.h header file
Reported-by: Steven Siwinski <steve-atto@users.sourceforge.net>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9173 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2020-10-21 03:37:50 +00:00