Commit Graph

5745 Commits

Author SHA1 Message Date
Bart Van Assche
941e324b99 scst_sysfs: Remove dead code
Detected by Coverity.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7865 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 22:20:01 +00:00
Bart Van Assche
e11462039a scst_lib: Remove two comment blocks and a trace statement
Remove the comment blocks from scst_block_generic_dev_done()
and scst_tape_generic_dev_done() since that comment does
not apply to these functions. Remove the trace statement from
scst_block_generic_dev_done() since it prints values that
are not modified by this function.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7864 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 22:18:14 +00:00
Bart Van Assche
1c6a617d51 scst_lib: Also intercept READ CAPACITY(16)
The scst_block_generic_dev_done() function parses the READ CAPACITY
response. Add support for parsing the READ CAPACITY(16) response.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7863 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 22:12:35 +00:00
Bart Van Assche
a77563897a scst: Avoid that a high I/O load prevents activity to be suspended
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7862 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 21:56:37 +00:00
Bart Van Assche
656931dfce scst_lib: Fix SCSI pass-through error handling
Some but not all SCSI LLD drivers set req->errors. Some SCSI
LLD drivers set req->errors to a negative Unix error code and
others assign the result of make_status_bytes() to req->errors.
The SCSI core finishes failed pass-through requests by calling
blk_finish_request(). That function calls req->end_io() without
setting req->errors. Hence check both the error argument and
req->errors before calling sioc->done().



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7861 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 21:55:26 +00:00
Bart Van Assche
457d6fceed scst, scst_vdisk: Simplify the code for querying the vdisk filename
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7860 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-05 21:42:33 +00:00
Bart Van Assche
f59534735d scst_vdisk: Make optimal transfer length parameter configurable
In testing SCST performance with MD RAID arrays for the backing device,
and RHEL 7.x initiators generating I/O, with the current optimal transfer
length (512 KiB) that SCST provides initiators (via the block limits VPD
page), it was observed on the target side that partial stripe writes were
occurring, even though at the file system layer full stripe writes were
being generated. Through testing it was determined the "optimal_io_size"
sysfs attribute and/or optimal transfer length data in the VPD page were
being utilized to fragment I/O on the initiator side.

While using the value of "optimal_io_size" from the MD RAID device (via
sysfs) stops partial stripe writes, it was observed additional throughput
can be gained by doubling/tripling/quadrupling this value. And it was
also observed that different values were preferred for writes vs. reads
to yield best performance.

The default value is 512 KiB (524288 bytes).

Signed-off-by: Marc Smith <marc.smith@parodyne.com>
[bvanassche: Made opt_trans_len attribute read/write]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7856 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2019-01-03 02:28:19 +00:00
Bart Van Assche
9a0c18aa1c scst: Disable I/O context sharing for kernel v4.21 and later kernels
Since kernel v4.21 no longer exports get_task_io_context() and
put_io_context() it is no longer possible to share I/O contexts on
kernel v4.21. Hence disable I/O context sharing for kernel >= v4.21.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7855 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 19:12:26 +00:00
Bart Van Assche
434207ab53 ib_srpt: Restore immediate data support
This implementation conforms to the SRP2 standard and hence is compatible
with the immediate data implementation in the Linux kernel v4.21 SRP initiator.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7854 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 19:10:24 +00:00
Bart Van Assche
e170b8dabc ib_srpt: Port to Linux kernel v4.21
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7853 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 19:06:37 +00:00
Bart Van Assche
0a2b30f4c9 ib_srpt: Remove support for immediate data
Remove the non-standard support for immediate data from the ib_srpt driver.
This will make porting this driver to kernel v4.21 easier.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7852 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 19:05:41 +00:00
Bart Van Assche
d3e2f5ab99 Makefiles: Stop using $(SUBDIRS)
This patch avoids that the following warning is reported when building
against kernel v4.21:

================= WARNING ================
'SUBDIRS' will be removed after Linux 5.3
Please use 'M=' or 'KBUILD_EXTMOD' instead
==========================================


A quote from an upstream kernel patch:

commit 07e5823127155b3a29003aca926f87c9843f6810
Author: Andrew Morton <akpm@osdl.org>
Date:   Mon Apr 12 01:05:40 2004 -0700

    [PATCH] kbuild: external module support
    
    From: Sam Ravnborg <sam@ravnborg.org>
    
    Based on initial patch from Andreas Gruenbacher there is now better support
    for building external modules with kbuild.
    
    The preferred syntax is now:
    make -C $KERNELSRC M=$PWD
    
    but the old syntax:
    make -C $KERNELSRC SUBDIRS=$PWD modules
    will remain supported.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7851 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 19:03:14 +00:00
Bart Van Assche
71c637eec1 debian/control: Add psmisc to the list of dependencies
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7850 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:57:30 +00:00
Bart Van Assche
43c6e39d3a scst: Port to Linux kernel v4.21
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7849 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:56:29 +00:00
Bart Van Assche
2e211122ee scst: Make scst_alloc_add_tgt_dev() somewhat easier to read
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7848 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:55:02 +00:00
Bart Van Assche
20a98b73ad ib_srpt: Fix an out-of-bounds read that is triggered on kernel v4.4 and later
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7847 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:54:34 +00:00
Bart Van Assche
abeb5810e4 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7846 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:53:02 +00:00
Bart Van Assche
c7b3ec7773 www/images/Orange.css: dos2unix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7845 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:27:35 +00:00
Bart Van Assche
3dcace8794 Remove trailing whitespace from multiple files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7844 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-31 18:26:51 +00:00
Bart Van Assche
d10a90d0ba scst: Fix RHEL 7.6 'EPOLLHUP undeclared' build error
Avoid that the following is reported when compiling scst on RHEL 7.6:

    scst/iscsi-scst/kernel/isert-scst/isert_login.c:843:11: error: 'EPOLLHUP' undeclared (first use in this function)
    mask |= EPOLLHUP | EPOLLIN;

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@osnexus.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7843 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-19 14:59:47 +00:00
Bart Van Assche
76edd32ceb scst: Avoid that RHEL 7.6 complains about WRITE_VERIFY_16 being redefined
RHEL7.6 backported the WRITE_VERIFY_16 macro to their 3.10 based
kernel (3.10.0-957.*), so do not define WRITE_VERIFY_16 on RHEL7.6
and above.

Reported-by: Tomohiro Kusumi <kusumi.tomohiro@osnexus.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7842 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-19 14:55:58 +00:00
Bart Van Assche
ef0b793811 scst_vdisk: Avoid that saving and restoring scst.conf reduces vdisk_blockio size
Reported-by: Marc Smith <marc.smith@parodyne.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7841 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-18 05:42:43 +00:00
Bart Van Assche
a5d5ee1868 ib_srpt: Minimize diffs with the upstream driver
Except for adding a few pr_info() statements, this patch does not change any
functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7840 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-16 01:09:10 +00:00
Bart Van Assche
ab5ea2283f qla2x00t: Read MBX_2 after MBC_PORT_NODE_NAME_LIST
MBX_2 contains the number of bytes required for the buffer, but
qla2x00_mailbox_command() doesn't request MBX_2 from the firmware.
    
Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
[ bvanassche: edited commit message ]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7839 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-11 02:46:38 +00:00
Bart Van Assche
86ea1a1db6 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7838 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-12-01 15:41:09 +00:00
Bart Van Assche
bf3f677040 isert-scst: Fix sparse warnings related to poll functions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7837 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-28 06:39:48 +00:00
Bart Van Assche
ebcc4891d2 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7836 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-28 05:44:40 +00:00
Bart Van Assche
44ae78e51e www/downloads.html: Remove an outdated sentence
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7835 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-28 05:44:17 +00:00
Bart Van Assche
d83436bc8f srpt/README: Remove the reference to scripts/spread-mlx4-ib-interrupts
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7834 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-27 04:58:30 +00:00
Bart Van Assche
67797324b1 Update ChangeLog
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7833 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-27 04:55:51 +00:00
Bart Van Assche
7e72a79cf2 scripts/spread-mlx4-ib-interrupts: Remove this script
Recent kernels spread interrupts automatically for device drivers that
allocate multiple interrupts. That means that this script is no longer
necessary.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7832 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-27 04:38:30 +00:00
Bart Van Assche
7fc8139aa4 www/downloads.html: Bump version number
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7831 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-27 03:16:07 +00:00
Bart Van Assche
1587638134 Remove support for "make enable_proc" and "make disable_proc"
Since RHEL 5 and kernel versions before 2.6.26 rely on procfs support,
this patch removes support for RHEL 5.x and also for kernel versions
before 2.6.26.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7829 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 22:13:40 +00:00
Bart Van Assche
0ad8d21ce0 scripts/run-regression-tests: Stop testing the procfs interface
Since the procfs interface is obsolete, stop testin it.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7828 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 22:03:37 +00:00
Bart Van Assche
4ce95041e3 scst: Suppress a recently introduced compiler warning
Avoid that the following compiler warning appears when building against
a stable kernel with version number >= v3.18 and < v4.12:

      warning: "EPOLLERR" redefined [enabled by default]



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7826 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 19:40:39 +00:00
Bart Van Assche
0c1ca90007 scripts/generate-kernel-patch: Download the correct kernel version
Additionally, only try to download the Linux kernel when including the
qla2x00t driver in the output.

This is a modified version of a patch supplied by Pascal de Bruijn.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7825 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 05:58:42 +00:00
Bart Van Assche
e46b7a93fc scripts/generate-kernel-patch: Fix the code that only includes fcst for kernel versions >= 2.6.33
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7824 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 05:56:18 +00:00
Bart Van Assche
4e4e586a82 scripts/kernel-functions: Fix kernel_version_le()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7823 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-22 05:48:57 +00:00
Bart Van Assche
acf304fb88 scripts/generate-kernel-patch: Download the kernel tarball if necessary
From Pascal de Bruijn <p.debruijn@unilogic.nl>.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7821 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-21 02:54:34 +00:00
Bart Van Assche
7c0540c556 Merge r7814:7819 from the 3.3.x branch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7820 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-19 04:25:36 +00:00
Bart Van Assche
a201fadd3e scripts/generate-release-archive: Fix shellcheck warnings and add -h to the tar command line
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7815 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-19 02:10:19 +00:00
Bart Van Assche
df02132689 iscsi-scst: Remove the no longer supported put_page_callback patches
See also trunk r7809.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7811 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-17 22:31:57 +00:00
Bart Van Assche
5a1474df43 scst, iscsi-scst: Port to Linux kernel v4.20
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7810 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:51:41 +00:00
Bart Van Assche
e79fcbd8f3 iscsi-scst: Remove zero-copy TCP/IP support
Zero-copy TCP/IP support is deprecated since a while and is no longer
supported for recent kernels. Hence remove it and also all references
to zero-copy TCP/IP support.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7809 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:50:59 +00:00
Bart Van Assche
9fff6bc1f0 iscsi-scst: Declare cmnd_alloc() static
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7808 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:48:33 +00:00
Bart Van Assche
754e5a6b2e scst_lib: Suppress two Coverity false positives about freeing stack memory
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7807 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:48:04 +00:00
Bart Van Assche
215b44e9d4 scst/src/dev_handlers/scst_vdisk.c: Avoid that Coverity complains about an out-of-bounds access
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7806 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:47:38 +00:00
Bart Van Assche
9b4a6a8823 srpt/conftest/bad_wr_mod/bad_wr_mod.c: Avoid that Coverity complains about NULL pointer dereferences
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7805 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:47:10 +00:00
Bart Van Assche
9ccc096b50 Debian: Make it possible to purge the scstadmin package
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7804 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:46:40 +00:00
Bart Van Assche
a54f922732 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7803 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-11-10 17:13:32 +00:00