Israel Rukshin
2e4544e351
isert: fix isert conn refcount release at unreachable event
...
On unreachable event the isert conn kref is always 2.
The refcount becomes 2 after successful connect event.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6941 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:33 +00:00
Israel Rukshin
8587672dc4
isert: fix race between ioctl events and disconnect flow
...
The ioctl events may arive after the isert connection has
started the teardown flow.
This scenario may occur on login logout stress.
It may lead to NULL derefrence bugs.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6940 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:28 +00:00
Israel Rukshin
e3f77ba979
isert: fix fops ioctl using invalid conn
...
On teardown flow we need to set dev conn state to disconnected.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6939 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:24 +00:00
Israel Rukshin
a67322d288
isert: change wrong dev_conn bug on
...
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6938 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:19 +00:00
Israel Rukshin
32ca0a7846
isert: fix a possible extra refcount put of isert connection
...
On login logout stress we can start a teardown flow before connection is
fully established.
In this case we have one less refcount on isert connection.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6937 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:15 +00:00
Israel Rukshin
a3b45f61bf
isert: add assertions for connection teardwon flow
...
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6936 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:11 +00:00
Israel Rukshin
c3827a6f54
isert: fix cleaning isert_con_dev
...
Clean pointers not to point to invalid memory.
- While conn is released set conn_dev->conn to null as conn is invalid now.
- While conn_dev is released set priv(conn) to null as conn_dev is invalid now.
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6935 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:27:06 +00:00
Israel Rukshin
583f452957
isert: make sure rdma_disconnect is called only once
...
Signed-off-by: Israel Rukshin <israelr@mellanox.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6934 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-17 07:17:37 +00:00
Bart Van Assche
3c66e5bf82
scst/README.dlm: Correct instructions for waiting for logout
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6933 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-11 18:36:48 +00:00
Bart Van Assche
6dd5fbfa27
srpt/Testing.txt: Leave out --norandommap
...
--verify and --norandommap are mutually exclusive. Hence leave out
--norandommap.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6932 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-09 20:18:03 +00:00
Bart Van Assche
4f776f42bb
scst/README.dlm: Update startup sequence information
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6931 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-08 20:52:00 +00:00
Vladislav Bolkhovitin
ce52affcdf
scst_vdisk: don't report unmap alignment, if it is equal to unmap granularity
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6930 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-03 02:49:31 +00:00
Vladislav Bolkhovitin
830fe47378
Update SVN_TAGS
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6928 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-03 02:33:56 +00:00
Vladislav Bolkhovitin
69863eb497
Increase version to 3.3
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6927 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-03 02:32:17 +00:00
Vladislav Bolkhovitin
f125a4e9bf
scst: Update README.dlm
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6921 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-03 01:43:24 +00:00
Bart Van Assche
a5f67cd1f2
scst_dlm: Instantiate lockspace as soon as cluster mode is enabled
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6920 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-08-02 16:31:00 +00:00
Bart Van Assche
d41a3a3cc9
/etc/init.d/scst: Make this script work on recent versions of Ubuntu Linux
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6919 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-26 17:26:17 +00:00
Vladislav Bolkhovitin
cde21c669a
scst: small post-r6913 cleanup
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6918 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-26 02:04:34 +00:00
Vladislav Bolkhovitin
244271120e
iscsi-scst: increase past CmdSN window to 2048
...
On modern storage there might be more, than 128, commands queued, so
previous CmdSN window might be too small and on unstable networks lead
to infinite retries. For more infor see thread
https://sourceforge.net/p/scst/mailman/message/35238904 .
Reported-By: Lev Vainblat <lev@zadarastorage.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6917 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-26 01:42:26 +00:00
Bart Van Assche
1a24483678
scst.h: Move more code to <scst/backport.h>
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6916 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-25 21:16:49 +00:00
Bart Van Assche
0a3d69c31b
scst_vdisk: Fix spelling of "reopening"
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6915 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-25 17:03:06 +00:00
Bart Van Assche
18ccf50b87
scst_pres: Save APTPL PR info on both nodes
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6914 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-22 16:51:07 +00:00
Bart Van Assche
e2b03a7836
scst_pres: Modify scst_pr_sync_device_file() function prototype
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6913 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-22 16:50:31 +00:00
Bart Van Assche
17f49dbede
scst_dlm: Initialize reg->dlm_idx for PR information loaded from disk
...
This patch avoids that the following kernel warning appears while
starting SCST after having loaded APTPL PR information:
WARNING: scst/src/scst_dlm.c:461 scst_copy_to_dlm()
Reported-by: <consus@gmx.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6912 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-22 16:48:38 +00:00
Vladislav Bolkhovitin
ff3b499a4c
scst: fix perf build
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6911 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-15 01:23:38 +00:00
Vladislav Bolkhovitin
f2da0cec29
README.dlm: update ToDo to reflect recently discovered APTL issue
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6910 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-14 01:33:20 +00:00
Vladislav Bolkhovitin
aea4052085
README.dlm update to refer to LVB truncation prevention patch
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6909 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-13 23:24:41 +00:00
Vladislav Bolkhovitin
0c2fd8e564
iscsi-scst: handle a case in target_del() where the target was already freed
...
target_del() calls handle_iscsi_events() which may recursively call target_del().
The 1st target_del() may resume its execution after the target object was already freed.
Signed-off-by: Erez Zilber <erezzi.list@gmail.com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6908 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2016-07-02 01:42:49 +00:00
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