Vladislav Bolkhovitin
aa18a4bcb5
Logginf cleanup
...
1. Make PR logging available in the release mode
2. Make /sys/kernel/scst_tgt/trace_level reflect currently available logging
3. Cleanup unused log levels from /sys/kernel/scst_tgt/trace_level
Suggested-by: Consus <consus@gmx.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6907 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-02 01:40:48 +00:00
Vladislav Bolkhovitin
55bb0206cd
scst: when checking the status of the service, also check if all daemons are running
...
Signed-off-by: Erez Zilber <erezzi.list@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6906 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-30 04:10:38 +00:00
Vladislav Bolkhovitin
4092e26bba
scst: fix possible error path crash in debug mode
...
It could happen, if a non-pass-through dev handler erroneously returned
SCST_EXEC_NOT_COMPLETED and TRAGE_DBG() statements enabled in debug mode.
Reported-by: Jeff Goldszer <jeff.goldszer@alebra.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6905 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-30 04:05:14 +00:00
Vladislav Bolkhovitin
528f5e0004
Makefiles/Kconfigs for kernels 4.5 and 4.6
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6904 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-25 00:56:09 +00:00
Vladislav Bolkhovitin
d4e2c4b12e
We found this bug when we add ZFS zvol to vdisk_blockio, remove it from copy
...
manager, and change ALUA state. After that the zvol would be in constant busy
state, even if we remove all scst modules.
The problem is that blockio_on_alua_state_change_finish will unconditionally
vdisk_open_fd. But for the above mentioned case, tgt_dev_cnt will be zero, so
the fd is permanently leaked. We fix this by only do vdisk_open_fd when
tgt_dev_cnt is not zero.
Signed-off-by: Chunwei Chen <david.chen@osnexus.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6902 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-22 02:02:41 +00:00
Bart Van Assche
e7603fc7a7
ib_srpt: Start with comp_vector 0
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6901 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-09 22:18:10 +00:00
Bart Van Assche
da83a4a9a4
ib_srpt: Serialize sport->port_id accesses
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6900 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-09 21:39:45 +00:00
Bart Van Assche
0d3c65105a
ib_srpt: Remove a duplicate comment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6899 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-09 21:39:15 +00:00
Bart Van Assche
a6f0551eef
ib_srpt: Introduce srpt_init_sport()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6898 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-09 21:14:29 +00:00
Bart Van Assche
1b8ba2f3cb
ib_srpt: Add link_layer and port_id sysfs attributes
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6897 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-09 21:03:34 +00:00
Bart Van Assche
0556c29fdd
ib_srpt: Port to Linux kernel v4.7
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6896 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-06-08 21:19:24 +00:00
Vladislav Bolkhovitin
353d1f1928
scst: update README how to configure SCST, so VMware start using EXTENDED COPY between datastores
...
Based on information from Artur Piechocki <artur.piechocki@open-e.com >
Tested-By: Isaac Goldbaum <isaac.goldbaum@mail.ru >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6892 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-27 01:02:11 +00:00
Bart Van Assche
d15d5773a7
scst, iscsi-scst, scstadmin: Spell successful and unsuccessful correctly
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6891 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-07 04:30:46 +00:00
Vladislav Bolkhovitin
186369a472
scst: add possibility of polling + few minor doc cleanups
...
See README diff for more details
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6890 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-07 00:49:43 +00:00
Vladislav Bolkhovitin
21559f7798
qla2x00t: clarify that NPIV is not supported in this version
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6889 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-07 00:47:57 +00:00
Vladislav Bolkhovitin
c0cce7b6f5
scst: follow up to r6886
...
Change local and more global queue priority ratio to 2:1
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6888 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-06 03:51:21 +00:00
Vladislav Bolkhovitin
7fe7405277
cleanup: remove support of old kernels without cancel_delayed_work_sync
...
Otherwise we can not use scst_mutex on works
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6887 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-06 02:20:41 +00:00
Vladislav Bolkhovitin
355fa36d34
scst, EXPERIMENTAL: improve commands CPU affinity
...
Now commands on the fast path processed by the same thread throughout
all its lifetime.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6886 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-06 01:53:30 +00:00
Vladislav Bolkhovitin
fcb8b3c75e
Make copy manager update internal data on INQUIRY changing vdisk events
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6885 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-05 01:53:17 +00:00
Vladislav Bolkhovitin
5ba4e1a707
scst_vdisk: extend vend_specific_id to 128 bytes
...
From Adrian Saul <Adrian.Saul@tpgtelecom.com.au >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6884 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-04 02:47:33 +00:00
Vladislav Bolkhovitin
33627cc8d8
When trying to remove a megaraid_sas device, the scst will hang inside
...
scst_free_device:
[ 380.448608] [4]: scst: Detached from scsi0, channel 2, id 1, lun 0, type 0
[ 601.138688] INFO: task kworker/0:0:4 blocked for more than 120 seconds.
[ 601.138756] Tainted: P OE 3.19.0-58-quantastor #64~14.04.1
[ 601.138810] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 601.138869] kworker/0:0 D ffff88085c6fba58 0 4 2 0x00000000
[ 601.138926] Workqueue: events megasas_aen_polling [megaraid_sas]
[ 601.138930] ffff88085c6fba58 ffff88085c6f09d0 0000000000013e80 ffff88085c6fbfd8
[ 601.138934] 0000000000013e80 ffffffff81c1d4e0 ffff88085c6f09d0 ffff88085c6fba38
[ 601.138938] ffff88085c6fbbd8 7fffffffffffffff ffff88085c6fbbd0 ffff88085c6f09d0
[ 601.138942] Call Trace:
[ 601.138955] [<ffffffff817b5469>] schedule+0x29/0x70
[ 601.138960] [<ffffffff817b8574>] schedule_timeout+0x244/0x2c0
[ 601.138968] [<ffffffff8115fbcb>] ? irq_work_queue+0x6b/0x90
[ 601.138975] [<ffffffff810cb8e2>] ? wake_up_klogd+0x32/0x40
[ 601.138979] [<ffffffff810cbaf8>] ? console_unlock+0x208/0x480
[ 601.138983] [<ffffffff817b61c4>] wait_for_completion+0xa4/0x170
[ 601.138989] [<ffffffff810a1ea0>] ? wake_up_state+0x20/0x20
[ 601.138995] [<ffffffff8108d94c>] flush_workqueue+0x10c/0x5b0
[ 601.139002] [<ffffffff8108de05>] flush_scheduled_work+0x15/0x20
[ 601.139044] [<ffffffffc09314f6>] scst_free_device+0x16/0x50 [scst]
[ 601.139051] [<ffffffffc091a86f>] scst_remove+0x2df/0x3a0 [scst]
[ 601.139056] [<ffffffffc028c093>] ? enclosure_find+0x93/0xa0 [enclosure]
[ 601.139061] [<ffffffff814f3971>] device_del+0xe1/0x270
[ 601.139062] [<ffffffff814f3b22>] device_unregister+0x22/0x70
[ 601.139066] [<ffffffff815549ab>] __scsi_remove_device+0xbb/0xd0
[ 601.139068] [<ffffffff815549e6>] scsi_remove_device+0x26/0x40
[ 601.139074] [<ffffffffc039fb22>] megasas_aen_polling+0x362/0x610 [megaraid_sas]
[ 601.139076] [<ffffffff8108eeaf>] process_one_work+0x14f/0x440
[ 601.139077] [<ffffffff8108fab8>] worker_thread+0x118/0x510
[ 601.139079] [<ffffffff8108f9a0>] ? rescuer_thread+0x3d0/0x3d0
[ 601.139082] [<ffffffff81094b49>] kthread+0xc9/0xe0
[ 601.139084] [<ffffffff81094a80>] ? kthread_create_on_node+0x1c0/0x1c0
[ 601.139087] [<ffffffff817b9798>] ret_from_fork+0x58/0x90
[ 601.139089] [<ffffffff81094a80>] ? kthread_create_on_node+0x1c0/0x1c0
The problem is that scst_free_device will call flush_scheduled_work to wait
for ext_blockers_work, but scst_free_device itself is called from
schedule_work, thus creating deadlock.
Instead of using heavy-handed flush_scheduled_work, we use flush_work to wait
for ext_blockers_work to finish.
Signed-off-by: Chunwei Chen <david.chen@osnexus.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6883 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-04 02:43:06 +00:00
Bart Van Assche
5f59850096
scst_sysfs, LUN replacement: Initialize 'read_only' before using it
...
See also r6834.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6882 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-05-01 22:41:20 +00:00
Bart Van Assche
76b20c76b8
isert: fix race between teardown flow and connect flow
...
It is possible to get ESTABLISHED RDMACM event while the connection
is already started teardown flow (i.e. addr change).
At teardown the refcount is reduced to zero and we start releasing the
connection. In established event We need to check conn is not in teardown
flow by checking its ref count is not 0.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6879 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-26 14:13:33 +00:00
Bart Van Assche
07bc4bb1af
isert: clean tmo timer when freeing the connection
...
The tmo timer is set when allocating a new connection.
We need to release it in case it didn't execute yet.
Else timer execution will lead to a NULL dereference bug on conn.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6878 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-26 14:13:13 +00:00
Bart Van Assche
0283a854ed
isert: wait for RDMA CM event to complete before destroy resources
...
There is a race between RDMACM event handler and isert_conn_free.
The event handler use the connection resources and isert_conn_free
destroy them.
This commit fix multiple NULL dereference bugs.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6877 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-26 14:12:47 +00:00
Bart Van Assche
f297ef6f38
isert: fix double free of a fake request
...
A nop that is sent from the scst is treated as a fake request.
When a fake request is allocated we release it immediately,
so it's wrong to release it also on a completion error (isert_pdu_err).
This commit fix a NULL dereference bug when receiving completion with
error on this nop.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
Signed-off-by: Ariel Nahum <arieln@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6876 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-26 14:12:17 +00:00
Bart Van Assche
5bbc7433dc
scst: Move kref_get_unless_zero() definition to <scst/backport.h>
...
This patch is a slightly modified version of a patch supplied by
Israel Rukshin <israelr@mellanox.com >.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6875 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-26 04:13:42 +00:00
Bart Van Assche
82cff1ba81
scst_vdisk: Fix a regression introduced by r6873
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6874 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-25 18:36:00 +00:00
Vladislav Bolkhovitin
afa0927a42
Some more cleanups
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6873 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-21 02:19:25 +00:00
Vladislav Bolkhovitin
f97c54e690
scstadmin: prevent saving statistical dif_checks_failed attribute
...
From Marc Smith <marc.smith@mcc.edu >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6867 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 04:52:58 +00:00
Vladislav Bolkhovitin
10f01feb98
Follow-up for the previous commit
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6866 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 04:34:43 +00:00
Vladislav Bolkhovitin
fce7964596
scst: decrease severity of "Copy Manager already registered" message, because it is harmless
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6865 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 04:29:34 +00:00
Vladislav Bolkhovitin
fae8fb74b0
scst: cleanups and clarifications
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6864 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 04:21:59 +00:00
Vladislav Bolkhovitin
fb0ad0b8cd
scst_user: improve backward compatibility with handlers relying on obsolete SCST_USER_UNREGISTER_DEVICE call
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6863 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 04:00:00 +00:00
Vladislav Bolkhovitin
9ead865f6a
Cleanup
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6862 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 03:44:21 +00:00
Vladislav Bolkhovitin
7219595e5c
iscsi-scst: fix 2 minor main Makefile issues
...
1. Fix build of progs and mods targets, if iscsi_scst_itf_ver.h does not exist
2. Fix small race for parallel build of "all" target, when iscsi_scst_itf_ver.h
not yet built, when progs or mods target need it
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6861 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 03:17:16 +00:00
Vladislav Bolkhovitin
9cd57cf50f
Cleanup
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6860 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-20 02:48:28 +00:00
Bart Van Assche
dc28d934d3
scst.spec.in: Disable executable flag again for kernel modules
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6859 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-12 13:47:58 +00:00
Bart Van Assche
d619407d16
scst: Kernel v4.6-rc3 build fix
...
See also patch "mm: drop PAGE_CACHE_* and page_cache_{get,release}
definition".
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6858 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-11 19:59:59 +00:00
Bart Van Assche
dec1b4a12d
scstadmin: Leave out "r" from RPM revision number
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6857 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-09 03:11:52 +00:00
Bart Van Assche
e3988e8c92
scst.spec.in: Enable .debug generation for .ko files
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6856 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-09 03:05:39 +00:00
Bart Van Assche
76cd77d64a
scst.spec.in: Leave out 'r' from revision number
...
RPM version comparison works correctly with numbers but not if the
revision starts with 'r'. Hence leave out the 'r'.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6855 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-04-09 03:04:09 +00:00
Bart Van Assche
b34cf85d83
scst_sysfs: Report LUN replacement failure correctly
...
This is a follow-up for r6834.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6854 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 22:44:44 +00:00
Bart Van Assche
520b66677d
scst: Fix RHEL 5 build
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6853 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 17:26:50 +00:00
Bart Van Assche
86816401fa
scst: Move more backports from scst_debug.h into backport.h
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6852 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 17:09:46 +00:00
Bart Van Assche
30c98e92cd
scst_local: Address checkpatch warnings
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6851 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 16:57:04 +00:00
Bart Van Assche
30f362caa3
scst: Address more checkpatch warnings
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6850 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 16:56:50 +00:00
Bart Van Assche
3990a6ccd4
iscsi-scstd: Insert a blank line after declarations
...
Additionally, surround complex values with parentheses, declare static
char arrays const and change C++ comments into C comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6849 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 16:24:59 +00:00
Bart Van Assche
c477b5f99c
iscsi-scstd: Fix more checkpatch complaints about whitespace
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6848 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 16:16:06 +00:00
Bart Van Assche
2681ed8bcb
iscsi-scstd: Fix checkpatch complaints about whitespace
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6847 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-03-27 16:10:45 +00:00