Commit Graph
484 Commits
Author SHA1 Message Date
Vladislav Bolkhovitin 1249be6247 Fix for TARGET RESET race
It can happen, when a device added after blocking, so unblocking then
will make dev->block_count of the new device negative.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5468 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 04:03:51 +00:00
Bart Van Assche 7a0aa7052d scst: Revert r5438, a whitespace-only change
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5451 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-22 06:56:37 +00:00
Bart Van Assche 4bce1c54ef scst: Fix a checkpatch 3.14 warning about whitespace
Fix the following checkpatch 3.14 warning:

missing space after return type


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5438 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 06:13:03 +00:00
Bart Van Assche fbcab181ef scst.h: Fix a checkpatch warning
Fix the following checkpatch 3.14 warning:

Unnecessary space after function pointer name


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5436 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 06:03:34 +00:00
Vladislav Bolkhovitin 77732f149c Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5419 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 01:05:49 +00:00
Vladislav Bolkhovitin d57ea322de REPORT SUPPORTED OPERATION CODES added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5418 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 01:02:50 +00:00
Vladislav Bolkhovitin 723d233193 Add SYNCHRONIZE_CACHE(16)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5415 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 21:30:26 +00:00
Bart Van Assche 610ec9cb10 Avoid that checkpatch complains that return is not a function
Avoid that checkpatch reports the following error message:

ERROR: return is not a function, parentheses are not required


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5398 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-27 08:34:27 +00:00
Vladislav Bolkhovitin 8599ec4452 Reimplement dropping of TM requests in a more reliable manner
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5395 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 23:51:36 +00:00
Vladislav Bolkhovitin 87ce86ee2d Cosmetics
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5394 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 22:16:16 +00:00
Vladislav Bolkhovitin ff2b53ff9b Black hole functionality added
Scst_mutex intentially used directly in the sysfs handler, because
comming sysfs improvements will allow that.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5382 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 02:31:52 +00:00
Vladislav Bolkhovitin 4a5b7bc8e6 In VERIFY commands BYTCHK 1x is not supported (yet)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5360 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-21 01:58:13 +00:00
Bart Van Assche a2917b0fec scst_const.h: Make COMPARE_AND_WRITE definition available for kernel versions 3.6..3.11
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5359 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-20 16:10:19 +00:00
Vladislav Bolkhovitin f32f05c483 scst_vdisk: Implement COMPARE AND WRITE
Ensure that COMPARE AND WRITE is executed atomically by serializing
all COMPARE AND WRITE commands per device (SCST_SERIALIZED).

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5334 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-15 02:01:17 +00:00
Vladislav Bolkhovitin 312c7d85d6 scst_vdisk: Make vendor, product ID and related fields configurable via sysfs
Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5316 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-26 02:49:38 +00:00
Vladislav Bolkhovitin d59230f2fd Make internal memory layout more cache friendly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5315 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-26 02:32:39 +00:00
Bart Van Assche 4177cd82a6 scst_debug.h: Avoid that the sBUG() and sBUG_ON() definitions confuse the smatch static code checker
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5277 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-09 16:50:10 +00:00
Bart Van Assche 72968c9c15 scst: Build fix for kernel versions before 2.6.37
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5276 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-08 08:24:28 +00:00
Bart Van Assche 987f9bd776 scst_sysfs: Fix a build failure on kernels 2.6.2[678]
The sysfs API is supported from kernel 2.6.26 on and uses the swap()
macro while the swap() macro was introduced in kernel 2.6.29. Hence
provide a definition of the swap() macro for kernels before 2.6.29.

Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
[bvanassche: Moved swap() definition a few lines down and added #ifndef/#endif]


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5269 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-02-07 07:31:38 +00:00
Vladislav Bolkhovitin bd53fcd860 scst_pres: Simplify PR locking
Since the time during which a PR read or write lock is held is short,
use a mutex to implement PR read and write locking. So although this
patch excludes multiple simultaneous readers that shouldn't affect the
time needed to process a PR operation measurably.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5254 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-31 02:32:02 +00:00
Vladislav Bolkhovitin e9ef3fa2d1 Better version of the previous patch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5247 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-29 04:16:58 +00:00
Vladislav Bolkhovitin 00851a7501 Merge of adding iSER web page and copyright updates from the iSER branch
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5241 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-28 05:17:26 +00:00
Bart Van Assche 2ee6484c6d scst: RHEL 5 build fix
Kernel versions before 2.6.26 do not have a definition for the
ACCESS_ONCE() macro, hence provide one.
    
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5220 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-21 14:35:22 +00:00
Bart Van Assche d602302863 scst: Rework RESERVE / RELEASE handling
Reduce the number of reservation state variables from (one per
device + one per session) to one per device. Introduce helper
functions for manipulating the SPC-2 reservation state.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5218 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-01-21 08:09:01 +00:00
Vladislav Bolkhovitin 6cfeda64ca Cleanup and clarification of allocation masks handling
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5166 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-12-20 03:41:44 +00:00
Vladislav Bolkhovitin d2976ad7ce scst: set_cpus_allowed_ptr() workaround for RHEL 5.10
Apparently RHEL 5.9 has an implementation of set_cpus_allowed_ptr()
but RHEL 5.10 not. Work around this by providing an implementation.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5147 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-12-18 05:56:14 +00:00
Vladislav Bolkhovitin b628b36da3 scst: RHEL 5 build fixes
Avoid that compilation fails on RHEL 5.9. In the RHEL 5.9 kernel headers
neither __printf() nor sg_is_last() has been defined. Additionally, the
variable 'fd' in vdisk_unmap_range() is only defined when building against
kernel version > 2.6.27.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-12-18 05:55:31 +00:00
Vladislav Bolkhovitin 26b9e5eaad Fix write resuduals handling on data receive error
By default data receive error it should be assumed that no data
received, not that all data received as it is currently



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5138 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-12-05 04:05:49 +00:00
Bart Van Assche 7f13d7ac6d scst spelling fix: Rename "atimic" into "atomic"
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5124 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-19 09:49:35 +00:00
Vladislav Bolkhovitin 93eb067bef scst: Avoid that scst_write_same() crashes for large data len
A quote from SBC-3 about WRITE SAME (10): "If the number of
logical blocks specified to be unmapped or written exceeds the value
indicated in the MAXIMUM WRITE SAME LENGTH field in the Block Limits
VPD page (see 6.6.3), then the device server shall terminate the command
with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST
and the additional sense code set to INVALID FIELD IN CDB."

This patch fixes the following crash since with the current implementation
data_len >= 2**63 makes (unsigned)ws_sg_cnt >= 2**31 and this causes
sg_init_table() to crash as follows:

BUG: unable to handle kernel paging request at 00000027ffffffe8
IP: [<ffffffff8120d51e>] sg_init_table+0x5e/0x90
CPU: 1 PID: 10297 Comm: disk014_1 Tainted: G           O 3.11.0-debug+ #1
RIP: 0010:[<ffffffff8120d51e>]  [<ffffffff8120d51e>] sg_init_table+0x5e/0x90
Call Trace:
 [<ffffffffa02e4b46>] scst_write_same+0x236/0x340 [scst]
 [<ffffffffa034db30>] ? vdisk_exec_write_same_unmap.isra.35+0x170/0x170 [scst_vdisk]
 [<ffffffffa034dba4>] vdisk_exec_write_same+0x74/0x170 [scst_vdisk]
 [<ffffffffa034824e>] vdev_do_job+0x15e/0x390 [scst_vdisk]
 [<ffffffffa03484a5>] vdisk_exec+0x25/0x70 [scst_vdisk]
 [<ffffffffa02cafb5>] scst_do_real_exec+0xa5/0x3d0 [scst]
 [<ffffffffa02ce2da>] scst_exec_check_blocking+0xea/0x310 [scst]
 [<ffffffffa02ce695>] scst_exec_check_sn+0x195/0x2f0 [scst]
 [<ffffffffa02cff31>] scst_process_active_cmd+0x521/0x750 [scst]
 [<ffffffffa02d01e1>] scst_do_job_active+0x81/0x1a0 [scst]
 [<ffffffffa02d0537>] scst_cmd_thread+0x157/0x340 [scst]
 [<ffffffff81069ea6>] kthread+0xd6/0xe0
 [<ffffffff814debfc>] ret_from_fork+0x7c/0xb0

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5122 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-19 05:51:39 +00:00
Vladislav Bolkhovitin 41f25c3e2e scst.h: Clarify data direction comments
I think the comments in scst.h for data_direction and expected_data_direction
can be made more clear. The patch below makes the comments for these two
variables more detailed.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5121 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-19 05:41:15 +00:00
Vladislav Bolkhovitin 91a2c481a6 scst: Make it possible to inspect commands state
Signed-off-by: Bart Van Assche <bvanassche@acm.org>

with some improvements



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5108 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-14 04:27:31 +00:00
Vladislav Bolkhovitin 39009e749e Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5107 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-14 04:16:28 +00:00
Bart Van Assche dae324cd5c scst/include/scst.h: Avoid that checkpatch complains about do { } while (0) around a single statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5099 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-11 13:15:07 +00:00
Bart Van Assche ca37a3602a scst_sysfs: Fix build against non-debug kernel (follow-up for r5095)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5096 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-10 18:06:52 +00:00
Vladislav Bolkhovitin 62fffa45dc scst_sysfs: Trigger a lockdep complaint if sysfs work
could trigger a deadlock

This patch causes lockdep to complain if sysfs work could trigger a deadlock.
As an example, for the patch below the following lockdep complaint is generated:

======================================================
[ INFO: possible circular locking dependency detected ]
3.12.0-rc7-dbg+ #5 Tainted: GF          O
-------------------------------------------------------
scst_mgmtd/7527 is trying to acquire lock:
 (scst_tgt_dev){+.+.+.}, at: [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]

but task is already holding lock:
 (&scst_mutex){+.+.+.}, at: [<ffffffffa01eaa46>] scst_free_session+0x56/0x2c0 [scst]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #1 (&scst_mutex){+.+.+.}:
       [<ffffffff810be983>] lock_acquire+0x93/0x150
       [<ffffffff81619617>] mutex_lock_interruptible_nested+0x77/0x500
       [<ffffffffa01f1f9f>] scst_tgt_dev_process_thread_pid_show+0x5f/0x120 [scst]
       [<ffffffffa01f38d6>] scst_process_sysfs_works+0xe6/0x1d0 [scst]
       [<ffffffffa01f7af0>] sysfs_work_thread_fn+0x120/0x2b0 [scst]
       [<ffffffff8107482a>] kthread+0xea/0xf0
       [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0

-> #0 (scst_tgt_dev){+.+.+.}:
       [<ffffffff810bdc8a>] __lock_acquire+0x14fa/0x1a60
       [<ffffffff810be983>] lock_acquire+0x93/0x150
       [<ffffffffa01f20df>] scst_kobject_put_and_wait+0x6f/0x140 [scst]
       [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
       [<ffffffffa01e9114>] scst_free_tgt_dev+0x84/0x210 [scst]
       [<ffffffffa01ea80b>] scst_sess_free_tgt_devs+0x6b/0x100 [scst]
       [<ffffffffa01eaa4e>] scst_free_session+0x5e/0x2c0 [scst]
       [<ffffffffa01ead4e>] scst_free_session_callback+0x9e/0x170 [scst]
       [<ffffffffa01d5a9a>] scst_global_mgmt_thread+0x24a/0x550 [scst]
       [<ffffffff8107482a>] kthread+0xea/0xf0
       [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&scst_mutex);
                               lock(scst_tgt_dev);
                               lock(&scst_mutex);
  lock(scst_tgt_dev);

 *** DEADLOCK ***

1 lock held by scst_mgmtd/7527:
 #0:  (&scst_mutex){+.+.+.}, at: [<ffffffffa01eaa46>] scst_free_session+0x56/0x2c0 [scst]

stack backtrace:
CPU: 1 PID: 7527 Comm: scst_mgmtd Tainted: GF          O 3.12.0-rc7-dbg+ #5
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013
 ffffffff822efd40 ffff88007b7c1ac8 ffffffff8161464a ffffffff822efd40
 ffff88007b7c1b08 ffffffff81610d02 ffff88007b7c1b60 ffff8800692748c0
 0000000000000000 ffff880069274898 ffff880069274120 ffff8800692748c0
Call Trace:
 [<ffffffff8161464a>] dump_stack+0x4e/0x82
 [<ffffffff81610d02>] print_circular_bug+0x201/0x210
 [<ffffffff810bdc8a>] __lock_acquire+0x14fa/0x1a60
 [<ffffffff810be983>] lock_acquire+0x93/0x150
 [<ffffffffa01f9365>] ? scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01f20df>] scst_kobject_put_and_wait+0x6f/0x140 [scst]
 [<ffffffffa01f9365>] ? scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01f9365>] scst_tgt_dev_sysfs_del+0x105/0x1a0 [scst]
 [<ffffffffa01e9114>] scst_free_tgt_dev+0x84/0x210 [scst]
 [<ffffffffa01ea80b>] scst_sess_free_tgt_devs+0x6b/0x100 [scst]
 [<ffffffffa01eaa4e>] scst_free_session+0x5e/0x2c0 [scst]
 [<ffffffffa01ead4e>] scst_free_session_callback+0x9e/0x170 [scst]
 [<ffffffffa01d5a9a>] scst_global_mgmt_thread+0x24a/0x550 [scst]
 [<ffffffff81075850>] ? wake_up_atomic_t+0x30/0x30
 [<ffffffffa01d5850>] ? scst_register_session_non_gpl+0x20/0x20 [scst]
 [<ffffffff8107482a>] kthread+0xea/0xf0
 [<ffffffff81074740>] ? kthread_create_on_node+0x140/0x140
 [<ffffffff81625f6c>] ret_from_fork+0x7c/0xb0
 [<ffffffff81074740>] ? kthread_create_on_node+0x140/0x140



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5095 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-11-09 07:40:09 +00:00
Vladislav Bolkhovitin 2d874f7cb8 scst_sysfs: Introduce scst_kobject_put_and_wait()
This patch does not change any functionality other than the message
printed when it takes more than one second before the completion is
signalled.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5086 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-31 04:44:52 +00:00
Vladislav Bolkhovitin b1d5d64a7c Add list_entry_in_list()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5017 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-10-03 04:24:25 +00:00
Vladislav Bolkhovitin 844e194647 Update for kernels 3.11.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5004 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-28 04:23:45 +00:00
Bart Van Assche 4c2b6e8fe1 scst, implicit ALUA: Document locking strategy
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4999 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-12 10:09:58 +00:00
Vladislav Bolkhovitin 7ac1a842e2 If supported, unmap everything on FORMAT UNIT
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4994 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-09-10 03:58:46 +00:00
Vladislav Bolkhovitin fac009829c Cleanup and add scst_create_devt_attr() and scst_create_dev_attr() for symmetry
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4974 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 23:44:21 +00:00
Vladislav Bolkhovitin c282b7964e Simplify, fix and improve commands ordering
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4972 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 05:47:32 +00:00
Vladislav Bolkhovitin f8f2580fcd From: Benjamin Black <Benjamin.Black@Emulex.Com>
There is not a way to specify an attribute that applies to only one
target or target driver. This patch provides such an interface.

Copyright (C) 2013  Emulex.  All rights reserved.

This software is provided as-is, without any express or implied warranty.  In
no event will Emulex be held liable for any damages arising from the use of
this software. Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and redistribute it
freely. If you use this software in a product, an acknowledgment in the
product documentation would be appreciated, but is not required. This notice
may be removed from any source code distribution that includes all or any part
of the original software.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4970 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-15 05:34:33 +00:00
Vladislav Bolkhovitin f438811634 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4945 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-10 02:29:30 +00:00
Vladislav Bolkhovitin 24262cfcd1 Revert r4922, because it isn't fully correct
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4929 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-08-02 07:01:33 +00:00
Vladislav Bolkhovitin 7a1bb6544c Fix out of SN commands handling
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4922 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-27 01:11:10 +00:00
Vladislav Bolkhovitin 5b1ee63f2f Make ALUA commands filtering more CPU cache friendly
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4920 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-23 02:22:01 +00:00
Vladislav Bolkhovitin 605c3c90e9 Simplify and optimize commands serialization/blocking
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4914 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-09 21:32:07 +00:00
Vladislav Bolkhovitin 6e31fd8306 Relax and cleanup HARDWARE ERROR sense usage
HARDWARE ERROR sense is very strong considered be "internal failure", so
might lead to serios initiator side issues up to disconnect from device. In
many cases WRITE or READ ERROR sense can be used instead. All remaining
usages must be logged.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4911 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2013-07-04 02:46:49 +00:00