Commit Graph

5648 Commits

Author SHA1 Message Date
Bart Van Assche
fa3a6738ec scst: Remove trailing whitespace from documentation and Makefile
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7498 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-07 16:13:55 +00:00
Bart Van Assche
a1c2a08d95 scst_vdisk: Make the filename modifiable
When VAAI support is not needed can be convenient to use the
vdisk_blockio handler to handle I/O redirection between nodes in a
H.A. setup. Making the filename modifiable allows to keep the LUN
associations of an SCST device that is used for I/O redirection in
such a setup. This is a slightly modified version of a patch
provided by Marc Smith <marc.smith@parodyne.com>.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7497 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-06 21:59:54 +00:00
Bart Van Assche
5b56580253 scst: Introduce __scst_unblock_aborted_cmds()
This patch does not change any functionality but makes it easier for
static analyzers like sparse and smatch to verify locking in
scst_unblock_aborted_cmds().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7496 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-06 21:57:50 +00:00
Bart Van Assche
090252f695 cst/include/backport.h: Add a printk_once() backport
This patch is only relevant for regression testing SCST against kernel
2.6.29 or older.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7495 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-06 21:42:02 +00:00
Bart Van Assche
c4d0b670e9 scst: Fix spelling of 'delimiter' in source code comments
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7494 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-06 21:41:30 +00:00
Bart Van Assche
915d3b7430 scst/README: Fix spelling
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7493 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-04 03:29:47 +00:00
Bart Van Assche
9c0a2c89a9 scst: Remove references to scripts to rebuild the Linux kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7492 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-03 01:49:06 +00:00
Bart Van Assche
3bc04b2b43 scst, iscsi-scst: Remove instructions to rebuild the Linux kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7491 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-03 01:47:16 +00:00
Bart Van Assche
5470ff4986 scripts/rebuild-rhel-kernel-rpm: Remove this script
Since rebuilding the RHEL kernel is no longer recommended, remove the script
that rebuilds the RHEL kernel RPM.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7490 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-03 01:44:26 +00:00
Bart Van Assche
92acee3c25 scst/include/backport.h: RHEL 7 build fix
Avoid that compilation fails on RHEL 7 due to a duplicate definition of
rdtsc().

Reported-by: Anton Kulshenko <shallriseagain@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7489 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-02 13:12:33 +00:00
Bart Van Assche
9a8c5d8459 scst/include/backport.h: Restore the proper vzalloc() backport
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7488 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-02 13:03:49 +00:00
Bart Van Assche
9d89cc7148 scst/include/backport.h: Remove the vzalloc() backport
The supported stable kernels before 2.6.37 already include a backported
version of vzalloc().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7487 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-10-02 00:41:21 +00:00
Bart Van Assche
fa3c482bb3 scst: Build fix for kernel versions <= v4.8
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7485 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 13:47:43 +00:00
Bart Van Assche
5f1cf8cf1d scst: Add a new latency measurement infrastructure
An example of the data produced by this infrastructure:

$ echo 1 >/sys/kernel/scst_tgt/measure_latency
$ sleep 10 # Wait until an initiator has submitted multiple I/O requests
$ cat /sys/kernel/scst_tgt/targets/ib_srpt/fe80\:0000\:0000\:0000\:0002\:c903\:00fa\:b7f2/sessions/fe80\:0000\:0000\:0000\:0002\:c903\:00a3\:4272/latency/r512
state count min max avg stddev
PARSE 219 1.3 26.6 2.2 2.5 us
PREPARE_SPACE 219 0.9 10.3 1.1 0.6 us
RDY_TO_XFER 219 0.7 1.7 0.7 0.2 us
TGT_PRE_EXEC 219 0.7 11.0 0.8 0.9 us
EXEC_CHECK_SN 219 0.7 1.7 0.8 0.2 us
PRE_DEV_DONE 219 11.3 3445.7 39.6 276.4 us
DEV_DONE 219 0.7 11.0 0.9 0.7 us
PRE_XMIT_RESP1 219 1.2 58.4 1.6 3.8 us
CSW2 219 0.7 1.6 0.8 0.1 us
PRE_XMIT_RESP2 219 0.7 1.5 0.7 0.1 us
XMIT_RESP 219 0.7 1.5 0.7 0.1 us
INIT_WAIT 219 1.0 57.3 2.1 4.4 us
INIT 219 0.9 27.4 1.6 2.4 us
CSW1 219 15.0 3856.1 74.2 264.8 us
EXEC_CHECK_BLOCKING 219 1.3 10.8 1.7 0.9 us
LOCAL_EXEC 219 0.7 1.8 0.7 0.1 us
REAL_EXEC 219 0.6 1.5 0.7 0.1 us
EXEC_WAIT 219 40.6 1021.7 54.4 68.7 us
XMIT_WAIT 219 6.4 1682.0 50.6 228.1 us
total 219 - - 236.9 2012.1 us


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7484 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 04:09:27 +00:00
Bart Van Assche
8e454788bd scst: Improve kernel v4.18 block request allocation code further
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7483 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 04:08:16 +00:00
Bart Van Assche
eeed9fc41e scst: Introduce the function scst_set_cmd_state()
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7482 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 02:28:16 +00:00
Bart Van Assche
f1357f410e scst: Remove the existing latency measurement infrastructure
Remove the existing latency measurement infrastructure since it will be
replaced by a new and more powerful latency measurement infrastructure.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7481 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 02:25:43 +00:00
Bart Van Assche
2231b598c6 scst: Make command state numbers consecutive
This makes it easier for the compiler to optimize command state
switch statements.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7480 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 02:24:38 +00:00
Bart Van Assche
75b78880d0 scst: Fix block request allocation for kernel v4.18 and later
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7479 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 02:23:57 +00:00
Bart Van Assche
e2e076cb84 qla2x00t: Add #include <linux/vmalloc.h>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7478 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-27 02:22:57 +00:00
Bart Van Assche
b5c7df62aa qla2x00t: Fix build against kernel versions >= v4.2
Reported-by: Pascal de Bruijn <p.debruijn@unilogic.nl>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7476 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-26 03:48:12 +00:00
Bart Van Assche
b1df825bbe qla2x00t: Avoid using higher order page allocations
Avoid that qla2x00_get_node_name_list() fails as follows:

kworker/0:2: page allocation failure: order:4, mode:0x240c0c0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO)
CPU: 0 PID: 101 Comm: kworker/0:2 Not tainted 4.9.124-scst #3
Hardware name: Supermicro SYS-1028U-E1CR4+/X10DRU-i+, BIOS 3.1 06/08/2018
Workqueue: events q2t_del_sess_work_fn [qla2x00tgt]
 ffffa0954357f9e8 ffffffff9c2c2fd8 ffffffff9c721178 0000000000000001
 ffffa0954357fa70 ffffffff9c13eb7a 0240c0c00240c0c0 ffffffff9c721178
 ffffa0954357fa10 ffff9e6700000010 ffffa0954357fa80 ffffa0954357fa30
Call Trace:
 dump_stack+0x4d/0x65
 warn_alloc+0x13a/0x170
 __alloc_pages_nodemask+0x486/0xd70
 alloc_pages_current+0x6f/0x100
 kmalloc_order+0x18/0x40
 kmalloc_order_trace+0x24/0xa0
 __kmalloc+0x163/0x190
 qla2x00_get_node_name_list+0x249/0x3e0 [qla2xxx]
 q2t_del_sess_work_fn+0xd8/0x4a0 [qla2x00tgt]
 process_one_work+0x14f/0x440
 worker_thread+0x48/0x4e0
 kthread+0xd9/0xf0
 ret_from_fork+0x22/0x30

This is a slightly modified version of a patch from Pascal de Bruijn
<p.debruijn@unilogic.nl>.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-09-23 03:03:38 +00:00
Bart Van Assche
6619a1a6ae scripts/specialize-patch: Follow-up for the kernel v4.19 port
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7474 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-28 01:36:38 +00:00
Bart Van Assche
51ab2e8ebd scst: Port to Linux kernel v4.19
In Linux kernel v4.19 the function scsi_execute() has been replaced by the
following macro:

    /* Make sure any sense buffer is the correct size. */
    #define scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense,        \
                        sshdr, timeout, retries, flags, rq_flags, resid)   \
    ({                                                                     \
           BUILD_BUG_ON((sense) != NULL &&                                 \
                        sizeof(sense) != SCSI_SENSE_BUFFERSIZE);           \
           __scsi_execute(sdev, cmd, data_direction, buffer, bufflen,      \
                          sense, sshdr, timeout, retries, flags, rq_flags, \
                          resid);                                          \
    })

This macro only accepts a sense buffer that has been declared as an array
but no sense buffers that have been passed as a pointer to a function. To
avoid build errors, convert scst_scsi_execute() from a function into a macro.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7473 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-27 03:26:38 +00:00
Bart Van Assche
7d13a9430e isert-scst: Port to Linux kernel v4.19
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7472 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-27 03:20:51 +00:00
Bart Van Assche
dab69e7d60 ib_srpt: Port to Linux kernel v4.19
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7471 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-27 03:19:47 +00:00
Bart Van Assche
73597a8983 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7470 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-23 02:02:55 +00:00
Bart Van Assche
ee94569268 nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7469 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-09 14:05:04 +00:00
Vladislav Bolkhovitin
74b2ae36e2 qla2x00t: fix possible crash with DLM PR sync enabled
Reported-By: Aaron Knister <aaron.s.knister@nasa.gov>
Analyzed-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7468 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-08 22:25:43 +00:00
Bart Van Assche
546c6c6ebe qla2x00t: Various coding style fixes
This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7467 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-08 04:14:54 +00:00
Bart Van Assche
f1463d0606 scst: Leave a blank line after declarations
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7466 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-08 04:13:42 +00:00
Vladislav Bolkhovitin
166dac3bb9 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7465 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-04 00:45:33 +00:00
Vladislav Bolkhovitin
16b4f4aba5 scst: cleanup follow up for r7449
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7464 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 04:23:36 +00:00
Bart Van Assche
acc205d174 qla2x00t: Use %zd instead of %Zd
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7463 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:38:23 +00:00
Bart Van Assche
1a4f34578d qla2x00t: Improve conformance with the coding standard further
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:37:32 +00:00
Bart Van Assche
8c2a32f3af qla2x00t: Insert a space where the coding standard requires one
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7461 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:30:20 +00:00
Bart Van Assche
10961c3dfd qla2x00t: Insert a space where the coding standard requires one
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7460 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:25:06 +00:00
Bart Van Assche
1ac05eb695 qla2x00t: Remove spaces where these are not allowed by the coding standard
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7459 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:19:17 +00:00
Bart Van Assche
d07888d5f9 qla2x00t: Change return (x) into return x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7458 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:09:58 +00:00
Bart Van Assche
1b18174c12 qla2x00t: Fix if/else coding style
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7457 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-03 03:01:04 +00:00
Bart Van Assche
30cf7b4bda qla2x00t: Fix more checkpatch complaints about whitespace
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7456 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:47:08 +00:00
Bart Van Assche
1c4649556d qla2x00t: Do not initialise globals/statics to 0. Detected by checkpatch.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7455 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:44:00 +00:00
Bart Van Assche
30c84b1282 qla2x00t: Do not initialise globals/statics to 0. Detected by checkpatch.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7454 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:42:42 +00:00
Bart Van Assche
5f478050ae qla2x00t: Fix checkpatch complaints about using spaces for indentation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7453 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:41:04 +00:00
Bart Van Assche
a6d7968bd9 qla2x00t: Avoid that checkpatch complains that (foo*) should be (foo *)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7452 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:27:58 +00:00
Bart Van Assche
8c3a885e4d qla2x00t: Fix spelling errors
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7451 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 04:19:35 +00:00
Bart Van Assche
458cf2ee00 scst/include/scst.h: Port to Linux kernel v4.18
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7450 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-02 03:58:47 +00:00
Bart Van Assche
6dc06a3cde scst, isert-scst: Revert the temporary kernel v4.16 workarounds
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7449 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-01 04:44:20 +00:00
Bart Van Assche
2c4d50d067 scst/kernel/in-tree/Makefile.dev_handlers: Make sure that the CONFIG_SCST_* symbols are honored
This patch is based on a patch from Pascal de Bruijn.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7448 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-01 04:29:10 +00:00
Bart Van Assche
8f8f055dfa scst dev_handlers Makefile: Simplify this Makefile
None of the CONFIG_SCST_* symbols are defined in the regular SCST build.
Hence remove the rules that depend on these symbols.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7447 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-01 04:27:57 +00:00