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
Vladislav Bolkhovitin
4483ecf49a
vdisk: Fix compilation for older compilers
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-08-01 02:36:52 +00:00
Bart Van Assche
e8c99bf813
scst: Simplify blk_make_request() and blk_map_kern_sg()
...
For kernel versions >= 4.11.0, pass REQ_OP_SCSI_* as second argument
to blk_get_request() instead of READ or WRITE and setting REQ_OP_SCSI_*
later. For kernels < 4.11.0, instead of calling blk_rq_set_block_pc()
directly, call it indirectly through scsi_req_init().
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-29 04:43:50 +00:00
Bart Van Assche
b1b5e8e497
isert-scst: Avoid that building against MOFED fails with "Unknown symbol backport_dependency_symbol"
...
Reported-by: Carsten Aulbert <carsten.aulbert@aei.mpg.de >
Signed-off-by: Sergey Gorenko <sergeygo@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7444 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-24 03:17:05 +00:00
Bart Van Assche
d67f20abfb
scst/include/backport.h: Unbreak the build for kernel version 2.6.30 and older
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7443 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-24 02:38:35 +00:00
Bart Van Assche
6864e0b759
scripts/run-regression-tests: Include the qla2xxx driver
...
Make sure that not only the qla2x00tgt but also the qla2xxx_scst driver
gets built when scripts/run-regression-tests is run.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:32:28 +00:00
Bart Van Assche
30d36bbfe6
scripts/generate-kernel-patch: Make the patch format more standard
...
Make sure that both paths in the diff header have the same number of
components. This patch does not change the result of applying a patch
generated by this script.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7441 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:31:00 +00:00
Bart Van Assche
953b86a9a2
scripts/specialize-patch: Add a comment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7440 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:29:55 +00:00
Bart Van Assche
1c1693d06b
qla2x00t: Port to Linux kernel v4.17
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7439 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:29:35 +00:00
Bart Van Assche
eb2b6f6ccf
qla2xxx: Simplify the kernel v4.11 port
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7438 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:25:48 +00:00
Bart Van Assche
cf4c873849
qla2x00t: Introduce set_bsg_result()
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7437 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:25:20 +00:00
Bart Van Assche
b6949a24b1
qla2xxx: Fix two potential buffer overflows
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7436 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:24:16 +00:00
Bart Van Assche
4c01448dfa
iscsi-scst: Simplify iscsi_get_initiator_port_transport_id()
...
From the snprintf() man page:
If n is zero, nothing shall be written and s may be a null pointer.
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7435 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2018-07-23 04:23:26 +00:00