Commit Graph

5405 Commits

Author SHA1 Message Date
Bart Van Assche
ebbb2f39b1 scst/include/backport.h: Follow-up for r7248
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7250 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-09 19:58:15 +00:00
Bart Van Assche
47b7da25aa scst: Fix SCSI pass-through for kernel version v4.11 and later
See also trunk r7153.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7249 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-09 18:15:00 +00:00
Bart Van Assche
16fe64bc13 scst_vdisk: Fix a bug in the Linux kernel v4.13 port
See also trunk r7240.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7248 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-09 18:10:48 +00:00
Bart Van Assche
a9750a6bff fcst: Fix in-tree build
See also r7243.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7247 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-06 15:08:00 +00:00
Bart Van Assche
aae7d099f1 qla2x00t: Port to openSUSE Leap
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7244 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-05 23:48:51 +00:00
Bart Van Assche
4c9fb0ecf0 fcst: Port to openSUSE Leap
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7243 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-05 23:48:25 +00:00
Bart Van Assche
d3a4f1d79f scst: Port to openSUSE Leap 42.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7242 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-05 16:57:27 +00:00
Bart Van Assche
a05903d9bf nightly build: Update kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7241 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-03 23:10:03 +00:00
Bart Van Assche
c0419026e3 scst: Port to kernel v4.13
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7240 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-03 23:08:29 +00:00
Bart Van Assche
8d3f00f0ec isert-scst: Make an error message more informative
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7239 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-03 22:49:35 +00:00
Bart Van Assche
1a82332127 scripts/specialize-patch: Process CONFIG_SCST_STRICT_SERIALIZING correctly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7238 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-03 00:05:42 +00:00
Bart Van Assche
d554163553 scripts/generate-kernel-patch: Fix a regression introduced in r7164
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7237 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-03 00:04:53 +00:00
Bart Van Assche
57bc445974 scripts/specialize-patch: Process ENABLE_NPIV and FC_VPORT_CREATE_DEFINED correctly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7236 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-10-02 23:56:47 +00:00
Bart Van Assche
e7ccfcf213 iscsi-scst/Makefile, Ubuntu: Simplify code for version querying
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7235 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-25 23:35:49 +00:00
Bart Van Assche
63f352fc06 iscsi-scst/Makefile: Change MOFED path into /usr/src/ofa_kernel/default
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7234 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-25 01:52:53 +00:00
Bart Van Assche
b39a0c64a2 ib_srpt: Support systems with more than 255 CPU cores
Signed-off-by: Kirill Malkin <kirillmalkin.km@gmail.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7233 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-20 15:09:38 +00:00
Vladislav Bolkhovitin
4851afc5cb Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7232 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-06 03:23:23 +00:00
Vladislav Bolkhovitin
d0c448116a Change version to 3.4
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7230 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-01 04:04:00 +00:00
Vladislav Bolkhovitin
cb995761c3 SVN_TAGS: 3.3.x branch start noted
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7226 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-09-01 03:54:36 +00:00
Bart Van Assche
bb021c1a84 Update svn:ignore property for multiple directories
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7224 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-28 01:58:15 +00:00
Bart Van Assche
1b4ba27d76 scripts/specialize-patch: Add support for HAVE_RDMA_DESTROY_AH
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7223 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-28 01:38:30 +00:00
Bart Van Assche
0518777b2d iscsi-scst: Suppress a recently introduced compiler warning
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7222 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 22:20:01 +00:00
Bart Van Assche
673dc1d90c nightly/conf/nightly.conf: Add more kernel versions
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7221 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 21:43:12 +00:00
Bart Van Assche
bbaf688a0e ib_srpt: Build fix for kernels before v4.12
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 21:40:23 +00:00
Bart Van Assche
cc2b24478c iscsi-scst/kernel/event.c: Port to kernel v4.12
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7219 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:53:16 +00:00
Bart Van Assche
1e457529eb ib_srpt: Port to Linux kernel v4.12
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:40:59 +00:00
Bart Van Assche
617c48e138 scst: More fall-through annotations for gcc 7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7217 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:40:42 +00:00
Bart Van Assche
9e35afe1e0 Annotate fall-through in switch statements in a form recognized by gcc 7
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7216 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-27 15:28:57 +00:00
Bart Van Assche
f3d11b715b iscsi-scst/Makefile: Add include/uapi directory to the include path
Reported-by: Sergey Gorenko <sergeygo@mellanox.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7215 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-10 19:39:27 +00:00
Bart Van Assche
64d40aeeb2 iscsi-scst/Makefile: Simplify MLNX_OFED support code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-10 18:26:29 +00:00
Bart Van Assche
4edaf3e4bf iscsi-scst/Makefile: Simplify MLNX_OFED detection for Red Hat
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7213 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-08-10 18:25:47 +00:00
Vladislav Bolkhovitin
4c269fa728 In the current implementation of SCST/trunk the recently introduced
"active" attribute for vdisk_blockio devices is managed by an ALUA
state change (start/finish), for specific ALUA states (eg,
active/standby). Relying on ALUA state changes to open/close the
back-end block device does indeed work for some SCST configurations,
however, some users desire advanced control over this setting, and
prefer to handle opening/closing a back-end block device from the
cluster resource agent (RA) script. Certain ambiguous situations can
also arise if more than one target group exists per SCST device
group... in this case, a back-end device may flip/flop (opened/closed)
and may end up in an inconsistent state if care is not taken in the
implementation of the cluster RA.

The patch below makes the "active" sysfs attribute for vdisk_blockio
readable/writable by a user, thereby giving full control over a
device's opened/closed state. The default behavior for SCST
vdisk_blockio devices is to allow ALUA state changes to control the
opened/closed ("active") state of a back-end device
(bind_alua_state=1). If the user wishes to handle setting the "active"
attribute themselves via a script or cluster RA, they would set
bind_alua_state=0 for the vdisk_blockio device, and the "active"
attribute would not be modified on ALUA state changes, it is then left
up to the user to handle this.

The patch below also fixes a bug where the attribute value is not
changed when the appropriate ALUA state is set, unless a target
session exists for the target group target; see here for more
information: https://sourceforge.net/p/scst/mailman/message/35898014/

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7212 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-07-26 03:18:30 +00:00
Vladislav Bolkhovitin
792a896abb With the new 'active' attribute, a bug exists where the attribute
value is not changed when the appropriate ALUA state is set, unless a
target session exists for the target group target; this patch fixes
that bug, see here for more information:
https://sourceforge.net/p/scst/mailman/message/35898014/

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7211 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-07-15 03:26:11 +00:00
Vladislav Bolkhovitin
c967700cd7 scst: Linux kernel v4.12 warning fix.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7208 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-13 03:58:26 +00:00
Vladislav Bolkhovitin
213a11e07b scst: minor cleanup for previous commit
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7207 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-07 01:23:59 +00:00
Vladislav Bolkhovitin
e174d00f08 scst: update ALUA documentation (Active/Non-Optimized)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7206 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-07 01:13:58 +00:00
Vladislav Bolkhovitin
64d07d25cf scst_vdisk: 'numa_node_id' signed attribute value fix
The "numa_node_id" attribute reside in the scst_vdisk_dev struct as
signed integer and may well be negative values (eg, -1), so move fetching
it above the unsigned attributes and use kstrtoll() to retrieve the
values.

Signed-off-by: Marc A. Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7205 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-06 04:20:09 +00:00
Vladislav Bolkhovitin
0ae66a082e Fix dereference beyond last sg element
Reported-By: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-03 04:02:22 +00:00
Vladislav Bolkhovitin
93bea9e0e8 Update to 4.11 kernels
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7203 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-03 02:38:51 +00:00
Vladislav Bolkhovitin
a614104023 usr: fix -Wmissing-prototypes warnings
Fix all twelve [-Wmissing-prototypes] warnings by adding "static" to their
declarations.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7202 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 04:08:02 +00:00
Vladislav Bolkhovitin
5358fb06f8 scst: remove a few unnecessary shadow declarations
Remove a few "shadow" declarations that appear unnecessary and probably
unintended.  (These are cases where a declaration in an inner scope hides
another declaration of the same name in an outer scope.)

Not all shadow declarations are superfluous -- so this particular compiler
warning is one that cannot be simply heeded while half asleep.  But these
particular ones I removed appear to be superfluous.

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7201 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 04:04:45 +00:00
Vladislav Bolkhovitin
41a287734f iscsi-scst: fix a couple of bad-function-cast warnings
This is a "marginal" warning, but there are only six of them in the SCST code
and this fixes two of those.

session.c:105:4: warning: cast from function call of type void * to non-matching type _Bool [-Wbad-function-cast]
target.c:668:14: warning: cast from function call of type void * to non-matching type _Bool [-Wbad-function-cast]

Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 03:53:08 +00:00
Vladislav Bolkhovitin
c4e9bab97c scst: scst_free_acg() not dereference NULL acg->tgt for proc interface
Signed-off-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 03:49:26 +00:00
Vladislav Bolkhovitin
c1d798a788 scst: cleanup of dead code
Reported-By: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7198 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-06-01 03:46:06 +00:00
Vladislav Bolkhovitin
bd67b31c9e scst: a better version of possible memory reclaim deadlock fix r7194
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7197 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-31 04:01:00 +00:00
Vladislav Bolkhovitin
4a8a18cc34 scst_vdisk: add "active" attridute to the list of BLOCKIO add device attributes
This is forgotten piece to r7187



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7196 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-26 02:45:47 +00:00
Vladislav Bolkhovitin
e5e4531049 iscsi-scst: cleanup
There's no need to end-align the padding. Plus, it's not optimal to
access front misaligned memory

Reported-by: David Butterfield <dab21774@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7195 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-25 02:11:06 +00:00
Vladislav Bolkhovitin
7caed6e7c4 scst: prevent possible memory reclaim deadlock
Reported by lockdep:

[  415.813281] =================================
[  415.817626] [ INFO: inconsistent lock state ]
[  415.821974] 4.10.12-scst-dbg #4 Tainted: G           O
[  415.827360] ---------------------------------
[  415.831705] inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage.
[  415.838217] kswapd0/558 [HC0[0]:SC0[0]:HE1:SE1] takes:
[  415.843342]  (sgv_pools_mutex){+.+.?.}, at: [<ffffffffa036d300>] __sgv_shrink+0x90/0x1d0 [scst]
[  415.852075] {RECLAIM_FS-ON-W} state was registered at:
[  415.857208]   mark_held_locks+0x6c/0x90
[  415.861034]   lockdep_trace_alloc+0x8a/0xd0
[  415.865210]   kmem_cache_alloc_node+0x32/0x2f0
[  415.869670]   sgv_pool_create_node+0x186/0x2e0 [scst]
[  415.874735]   sgv_pool_create+0x12/0x20 [scst]
[  415.879194]   scst_sgv_pools_init+0xb9/0x3c0 [scst]
[  415.884065]   __dev_user_set_opt+0x152/0x5f0 [scst_user]
[  415.889367]   do_one_initcall+0x59/0x190
[  415.893280]   do_init_module+0x6a/0x230
[  415.897106]   load_module+0x591/0x830
[  415.900758]   SYSC_init_module+0xd3/0x120
[  415.904758]   SyS_init_module+0xe/0x10
[  415.908501]   entry_SYSCALL_64_fastpath+0x18/0xad
[  415.913193] irq event stamp: 3831137
[  415.916763] hardirqs last  enabled at (3831137): [<ffffffff8106ff37>] __local_bh_enable_ip+0x67/0xd0
[  415.925878] hardirqs last disabled at (3831135): [<ffffffff8106fefe>] __local_bh_enable_ip+0x2e/0xd0
[  415.935018] softirqs last  enabled at (3831136): [<ffffffffa036c72d>] __sgv_can_be_shrunk+0x9d/0x180 [scst]
[  415.944764] softirqs last disabled at (3831134): [<ffffffffa036c6e3>] __sgv_can_be_shrunk+0x53/0x180 [scst]
[  415.954481]
[  415.954481] other info that might help us debug this:
[  415.960994]  Possible unsafe locking scenario:
[  415.960994]
[  415.966899]        CPU0
[  415.969336]        ----
[  415.971774]   lock(sgv_pools_mutex);
[  415.975339]   <Interrupt>
[  415.977950]     lock(sgv_pools_mutex);
[  415.981691]
[  415.981691]  *** DEADLOCK ***
[  415.981691]
[  415.987599] 1 lock held by kswapd0/558:
[  415.991424]  #0:  (shrinker_rwsem){++++..}, at: [<ffffffff811ace5c>] T.1898+0x4c/0x100
[  415.999329]
[  415.999329] stack backtrace:
[  416.003677] CPU: 2 PID: 558 Comm: kswapd0 Tainted: G           O    4.10.12-scst-dbg #4
[  416.011663] Hardware name: Dell Inc. PowerEdge R710/00NH4P, BIOS 2.2.10 11/09/2010
[  416.019216] Call Trace:
[  416.021661]  dump_stack+0x6b/0xa0
[  416.024968]  print_usage_bug+0x182/0x190
[  416.028881]  ? print_circular_bug+0x110/0x110
[  416.033226]  mark_lock_irq+0xee/0x290
[  416.036879]  mark_lock+0x113/0x1a0
[  416.040271]  mark_irqflags+0xb0/0x180
[  416.043924]  __lock_acquire+0x245/0x610
[  416.047750]  ? __lock_release+0x408/0x470
[  416.051750]  lock_acquire+0xce/0x2b0
[  416.055343]  ? __sgv_shrink+0x90/0x1d0 [scst]
[  416.059689]  ? mutex_lock_nested+0x47/0x750
[  416.063863]  mutex_lock_nested+0x82/0x750
[  416.067888]  ? __sgv_shrink+0x90/0x1d0 [scst]
[  416.072236]  ? put_lock_stats+0xe/0x30
[  416.075975]  ? __lock_release+0x408/0x470
[  416.080001]  ? __sgv_shrink+0x90/0x1d0 [scst]
[  416.084349]  ? debug_smp_processor_id+0x17/0x20
[  416.088868]  ? put_lock_stats+0xe/0x30
[  416.092633]  ? __sgv_can_be_shrunk+0x9d/0x180 [scst]
[  416.097588]  ? mark_held_locks+0x6c/0x90
[  416.101500]  ? __local_bh_enable_ip+0x67/0xd0
[  416.105873]  __sgv_shrink+0x90/0x1d0 [scst]
[  416.110047]  ? __local_bh_enable_ip+0x67/0xd0
[  416.114420]  sgv_scan_shrink+0x5d/0x120 [scst]
[  416.118853]  do_shrink_slab+0x19b/0x5f0
[  416.122678]  ? T.1898+0x4c/0x100
[  416.125899]  ? down_read_trylock+0x60/0x80
[  416.129985]  T.1898+0xb4/0x100
[  416.133031]  shrink_node+0x62/0xa0
[  416.136424]  balance_pgdat+0x1c8/0x2c0
[  416.140164]  kswapd+0xa0/0x2b0
[  416.143211]  ? preempt_count_sub+0x9f/0xe0
[  416.147409]  ? schedule+0x4e/0xc0
[  416.150715]  ? balance_pgdat+0x2c0/0x2c0
[  416.154627]  kthread+0x111/0x150
[  416.157849]  ? call_usermodehelper_exec_work+0xa0/0xa0
[  416.162974]  ? __kthread_init_worker+0x80/0x80
[  416.167407]  ? call_usermodehelper_exec_work+0xa0/0xa0
[  416.172534]  ? call_usermodehelper_exec_work+0xa0/0xa0
[  416.177660]  ret_from_fork+0x2e/0x40



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7194 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-23 03:50:43 +00:00
Vladislav Bolkhovitin
27db06eb7c qla2x00t: fix broken 4.9 kernels build
Reported-By: Marc Smith <marc.smith@parodyne.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7193 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-23 02:23:38 +00:00
Vladislav Bolkhovitin
c729d1934a scst: minor cleanup
Let's keep it simple without unused functionality



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7192 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2017-05-20 03:29:41 +00:00