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
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
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
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
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
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
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
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
- 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
Apparently the RHEL 8.2 gcc compiler reports an error if
__attribute__((fallthrough)) is used outside a switch statement. Hence this
patch that converts some of these annotations back into comments.
Reported-by: Rob Turk <robtu@rtist.nl>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9167 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Fix the following build failure on RHEL 7 + MOFED 5.0:
In file included from <command-line>:0:0:
/usr/src/ofa_kernel/default/include/linux/compat-2.6.h:40:29: warning: "__GCC4_has_attribute___fallthrough__" is not defined [-Wundef]
# define __has_attribute(x) __GCC4_has_attribute_##x
^
/usr/src/packages/BUILD/scst-3.5.0.7946/iscsi-scst/kernel/isert-scst/../../../scst/include/backport.h:250:5: note: in expansion of macro '__has_attribute'
#if __has_attribute(__fallthrough__)
Reported-by: Chesnokov Gleb <Chesnokov.G@raidix.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9163 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Validate the $value argument of set functions with defined() instead of
length(). Append a newline to the end of $value before writing it into
a sysfs attribute to make sure something gets written if $value eq "".
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9158 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Report "Failed to set a SCST attribute" instead of "SCST attribute specified
is static" if modifying of an attribute fails.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9155 d57e44dd-8a1f-0410-8b47-8ef2f437770f
The scstadmin output for the ib_srpt driver depends on whether or not an
RDMA HCA is present and also on the port GUIDs. Hence filter out the
ib_srpt data.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This patch fixes a bug by making it again possible to use "0" as e.g. the
name of an SCST device group. See also commit 858f50e4d3 ("scstadmin:
Improve robustness").
Reported-by: Pavel Klevtsov
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9152 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Around 2011 a sysfs-tree-changes branch was created in the SourceForge
repository because Greg KH asked to rework the SCST sysfs interface. That
interface is called the "new" sysfs interface. The current and only used
API is called the "old" sysfs interface. Since the "new" sysfs interface
never had any users other than myself, remove support for that interface.
See also commit a66cbc4115 ("scstadmin: Add support for the sysfs
interface provided by the code on the sysfs-tree-changes branch").
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9151 d57e44dd-8a1f-0410-8b47-8ef2f437770f
In Linux kernel v5.9 use of the KERNEL_SOCKPTR() function is mandatory
when calling setsockopt(). Implement that function for kernels before v5.9.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9149 d57e44dd-8a1f-0410-8b47-8ef2f437770f