Commit Graph

48 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
7d1ba6a2b0 VERIFY(6) is a tape command. T10 has never defined a VERIFY(6) command
for disk or CD-ROM devices, so make sure scst_vdisk rejects it.

+

added the corresponding cleanups in scst_lib.c and fileio/common.c + updated scst_scsi_op_table

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4156 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2012-03-07 19:50:10 +00:00
Vladislav Bolkhovitin
be49977abb - Change T10 ID and USN generations to get the random part be CRC32 from the device name in the first 8 characters as many MPIO implementations expect
- Cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3324 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-03-29 19:08:56 +00:00
Vladislav Bolkhovitin
6d01fda201 Post r3281 cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3282 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-03-15 13:36:56 +00:00
Vladislav Bolkhovitin
5cd8982545 Custom parse improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3281 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-03-15 13:09:13 +00:00
Vladislav Bolkhovitin
f3238333dd Copyrights updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3200 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-01-06 20:02:04 +00:00
Vladislav Bolkhovitin
121a30e9b2 Big CDBs handling improvements.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2295 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-09-28 13:56:46 +00:00
Vladislav Bolkhovitin
e8f6cfd143 Remove wrong "Unexpected block size" messages
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1814 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-07-13 11:50:27 +00:00
Vladislav Bolkhovitin
8d4d13fdb1 Fix cdb_len handling to avoid crashes on attempts to copy negative cdb_len bytes + minor scst_user residual fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1788 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-06-25 17:05:36 +00:00
Vladislav Bolkhovitin
085451ada4 ORDERED commands processing cleanup: there's no need to issue flushes for each ORDERED command, because maintaining order of putting data into the cache is sufficient and expected from us. To issue cache flushes initiators supposed to use the cache flushing commands and bits.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1737 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-06-04 10:28:33 +00:00
Vladislav Bolkhovitin
b53e4cb4c1 Merge of the pr branch with additional fixes for problems found during extra testing
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1714 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-05-26 17:46:46 +00:00
Bart Van Assche
c99bd720c8 Removed trailing whitespace because checkpatch complained about it.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1671 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-30 10:49:28 +00:00
Vladislav Bolkhovitin
a59f9a0dc6 Residuals handling fixes, part 2
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1667 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-29 17:13:12 +00:00
Vladislav Bolkhovitin
105fd01c57 - Residuals handling fixes, part 1
- Docs updated
 - Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1666 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-29 14:00:23 +00:00
Vladislav Bolkhovitin
1c21b1ffb8 Minor cleanups, fixes and updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1657 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-27 16:29:58 +00:00
Vladislav Bolkhovitin
bc6701c190 Typo fixed noticed by Phil White <phil@philwhite.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1612 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-14 12:25:21 +00:00
Vladislav Bolkhovitin
4d5aaf047b Copyrights updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1585 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-04-06 08:57:48 +00:00
Vladislav Bolkhovitin
89345ab95c Custom commands parsing cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1455 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-12 19:05:27 +00:00
Vladislav Bolkhovitin
4a2fcb870b - Logging cleanups. Particularly, TRACE_MGMT_MINOR level was removed
- Docs updates
 - Other minor fixes and cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1452 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-12 13:29:01 +00:00
Vladislav Bolkhovitin
e63a865d23 BIDI fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1329 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-09 13:53:57 +00:00
Vladislav Bolkhovitin
34ac184d39 - New scst_user IOCTL SCST_USER_PREALLOC_BUFFER added
- New scst_user option sgv_disable_clustered_pool added
 - fileio_tgt updated to use those new facilities
 - Scst_user docs updated
 - sgv_pool_get() and sgv_pool_put() made exported
 - AENs sense buffer override fixed



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1159 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-30 18:35:24 +00:00
Vladislav Bolkhovitin
93e8178a4f - Sense handling cleanup
- How to workaround Windows READ CAPACITY(16) bug documented



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1146 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-25 18:57:10 +00:00
Vladislav Bolkhovitin
bea5b6dfc8 Bump up SCSI version to SCSI-3
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1075 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-04 15:49:41 +00:00
Vladislav Bolkhovitin
70d66b181f Fix for a problem found by Saar David <liorg@ged-I.com>: the missed << 24 added.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1073 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-03 16:52:34 +00:00
Vladislav Bolkhovitin
8a98aa4e56 64-bit cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@891 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-06-03 18:59:30 +00:00
Vladislav Bolkhovitin
9f2f2e7bd1 - Cleanups and improvements in handling various special commands properties
- REQUEST SENSE handling improved
 - READ CAPACITY(16) handling improved
 - New write_medium member added to scst_user's scst_user_scsi_cmd_reply_parse
 - scst_user docs updated
 - Other minot cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@816 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-01 19:26:10 +00:00
Vladislav Bolkhovitin
f572d4ff79 - Copyrights updated.
- Other minor updates



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@803 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-27 19:01:28 +00:00
Vladislav Bolkhovitin
f8ba391aea - Fixed crash introduced by r710 reported by andy yan <andyysj@gmail.com>
- Improve logging on write access on read-only devices
 - Make the same initiator coming through different sessions use shared IO context
 - Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@721 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-26 18:25:00 +00:00
Vladislav Bolkhovitin
341f592a4a Support for variable lenght CDB added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@702 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-18 19:36:01 +00:00
Vladislav Bolkhovitin
a1acc1bc78 - scst_user docs updated
- Added notification about device change in fileio_tgt



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@700 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-17 18:07:36 +00:00
Vladislav Bolkhovitin
689bcbc261 Cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@666 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-06 19:46:57 +00:00
Vladislav Bolkhovitin
5a9a0ad491 2 missed functions added to scst_user interface:
- SCST_USER_UNREGISTER_DEVICE - to unregister device, flush mem reuse (SGV) cache and send UCMD_STATE_ON_CACHE_FREEING notifications for all freed buffers to the user space handler. Simple device close doesn't allow that, so all the cached buffers might look as "leaked" from the user space handler POV.

 - SCST_USER_FLUSH_CACHE - to flush mem reuse (SGV) cache and send UCMD_STATE_ON_CACHE_FREEING notifications for all freed buffers to the user space handler

+ some cosmetics

Docs update is coming



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@665 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-05 18:30:50 +00:00
Vladislav Bolkhovitin
2f392619fb Make USN related stuff completed. Unfortunately, it can break existing cluster setups, but it's better to make it now, then later.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@645 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-28 18:44:59 +00:00
Vladislav Bolkhovitin
9ab503a347 - Add autogenerated USN
- Sync fileio_tgt with scst_vdisk



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@643 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-27 18:09:24 +00:00
Vladislav Bolkhovitin
7a4e9129fc - Minor optimization
- New member target_name added to struct scst_user_sess
 - Docs updates



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@634 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-15 18:50:43 +00:00
Vladislav Bolkhovitin
6181fda851 Fixes SAM violation, noticed by Sudhakar <ssudhakarp@gmail.com>. Plus, Windows requires it to automatically support LUNs >8, see http://support.microsoft.com/kb/310072/en-us
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@520 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-10-08 17:59:11 +00:00
Vladislav Bolkhovitin
9c1703ef3d - A complete fix for the problem when a command comes with zero transfer length and READ or WRITE data transfer direction
- Version changed to 1.0.0-rc2


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@423 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-06-26 16:39:05 +00:00
Vladislav Bolkhovitin
20a2e4ae8d Copyrights updated
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@408 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-06-12 11:39:28 +00:00
Vladislav Bolkhovitin
994b72d114 The major TM processing cleanup in scst_user module which was possible after the recent SCST changes, to fix current problems. Also there are fixes for found during development/testing problems. Particularly:
- PRIO queue was removed from scst_user. Instead, all priority commands now queued in the head of the regular queue. The corresponding code was removed from fileio_tgt as well. It necessary, in the future the priority queue can be easily restored from this patch.

 - pre_unreg_sess() was removed from struct scst_dev_type. The corresponding code was removed from SCST core as well

 - Almost all /proc/scsi_tgt commands now can fail after timeout (90 seconds) with EBUSY

 - Fixed possible incorrect command's retry if double RESET UA is detected.

 - Many minor changes and cleanups

Also docs were updated.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@403 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-31 12:05:02 +00:00
Vladislav Bolkhovitin
21cc5df121 Patch from Bart Van Assche <bart.vanassche@gmail.com>:
The patch below fixes the following class of checkpatch.pl errors:
  ERROR("(foo*)" should be "(foo *)".
Or: another whitespace-only change.

I have verified that the output of svn diff -w -x is empty for this patch.

Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@383 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-21 15:43:54 +00:00
Vladislav Bolkhovitin
1213800b2f Patch from Bart Van Assche <bart.vanassche@gmail.com>, except few chuncks from qla2x00t/ obviously not related to the target mode addon:
One of the Linux kernel patch submission requirements is that source files do
not contain trailing whitespace. The patch below removes trailing whitespace
from .c and .h source files.

Note: it might be more convenient to run the script I used to generate this
patch than to review and apply the patch below. This is how I generated and
verified the patch below:

cat <<EOF >./strip-trailing-whitespace
#!/bin/bash
trap "rm -f $t" EXIT
t=/tmp/temporary-file.$$
for f in "$@"
do
  sed 's/[	 ]*$//' <"$f" >"$t" && mv "$t" "$f"
done
EOF
chmod a+x ./strip-trailing-whitespace
find -name '*.[ch]' | xargs ./strip-trailing-whitespace
svn diff -x -w

Signed-off-by: <bart.vanassche@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@377 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-05-19 10:21:41 +00:00
Vladislav Bolkhovitin
925fbcdda3 The bunch of pending changes. Sorry, it's quite big.
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
 - Obtaining device queue parameters in scst_obtain_device_parameters() changed to handle NOT READY sense
 - Fixed possible dev_cmd_count underflow
 - Minor iSCSI-SCST connection closing cleanups and fixes
 - Semantic of other *_atomic flags changed a bit. Now they are intended only to allow SCST to optimize execution context. The corresponing functions now can *always* be called on atomic context and, if necessary, should manually determine that using scst_cmd_atomic() function and restart using corresponding *_NEED_THREAD_* return value.
 - scst_cmd_get_tgt_resp_flags() and SCST_TSC_FLAG_STATUS flag made obsolete and replaced by scst_cmd_get_is_send_status(). All in-tree drivers updated accordingly
 - Cleanup: preprocessing_done_atomic removed, now preprocessing_done() callback always called on thread context
 - 64-bit cleanups
 - Documented that iscsi-scst-adm is currently broken and explained why
 - In user space Makefile's added possibility to specify external linker flags
 - Minor performance optimizations
 - Other minor cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@350 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-22 10:30:53 +00:00
Vladislav Bolkhovitin
d33edb6ba3 Simple bugfix for concurrent work of several targets, which eventually turned out in a massive cleanup and fixes.
Particularly:
 - Added ability for target drivers to set result of command's status delvery to initiator (see scst_set_delivery_status())
 - Added ability for user space devices set some mode page parameters to make SCST core behave correspondingly
 - TM improvements
 - Few possible crashes fixed
 - Logging improvements
 - Performance improvements
 - Docs updates


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@227 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-12-07 17:00:42 +00:00
Vladislav Bolkhovitin
71592f2cac Cleanups, debug imporvements and minor fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@214 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-11-01 17:07:07 +00:00
Vladislav Bolkhovitin
455778bf10 - Fixes memory leaks in scst_user spotted by new SGV cache backend
- Version changed on -pre3
 - Minor fixes and cosmetics


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@199 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-09-25 09:52:53 +00:00
Vladislav Bolkhovitin
a61f896dd3 - Fixes commands leak in case of, e.g., QUEUE FULL status returned, because of uninitialised cmd->sn.
- HEAD OF QUEUE commands processing simplified to fix known problems
 - Cosmetics 


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@198 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-09-25 09:46:36 +00:00
Vladislav Bolkhovitin
56be023a73 - Version changed in scst_user_spec.txt
- Minor fixes


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@160 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-08-14 17:03:42 +00:00
Vladislav Bolkhovitin
fc854f8279 - Threads made per-device
- Minor cleanups and fixes


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@125 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-06-08 10:25:29 +00:00
Vladislav Bolkhovitin
61b0176514 - Module scst_user and user space utility to test it added
- Support for per-target default security groups added
 - FILEIO made multithreaded
 - BLOCKIO made async
 - Other improvements, fixes and cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@121 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2007-05-31 17:11:57 +00:00