Commit Graph

169 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
eada62f329 Fixed processing of REQUEST SENSE and INQUIRY commands for not existing LUNs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-13 18:10:10 +00:00
Bart Van Assche
ddbaa159ca Fixed the following checkpatch complaint:
1 WARNING: braces {} are not necessary for single statement blocks


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1457 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-13 08:21:39 +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
5b930aa9a4 - Improved handling of commands with TASK ABORTED status
- Minor cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1449 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-11 19:41:23 +00:00
Bart Van Assche
1660fe1c3c Fixed the following category of checkpatch complaints:
2 ERROR: code indent should use tabs where possible


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1440 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-09 15:01:59 +00:00
Vladislav Bolkhovitin
e6ac85312b Commands can be aborted by other transports, so cmnd_rx_continue() should check scst_cmd_aborted().
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1439 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-08 16:19:31 +00:00
Bart Van Assche
754d139673 Fixed checkpatch complaints about whitespace (use tabs instead of spaces /
trailing whitespace) and the sparse complaint about using '0' as a pointer.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1433 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-06 20:22:15 +00:00
Vladislav Bolkhovitin
05d1bbfedc A huge chunk of related to each other changes, which had to be tested together.
iSCSI-SCST: A huge improvements in errors recovery and iSCSI RFC complaince as well as performance. Also:

 - Fixes and improvements for MaxOutstandingR2T>1

 - Flow control tracing added.

 - Cleanups

SCST core:

 - Now for scst_cmd_init_stage1_done() commands preprocessing_done() is always called before xmit_response(), even in case of abort or error.

 - Fixed recently introduced bug, which can lead to sending responses for aborted commands after reply on the corresponding TM command already sent.

 - Flow control tracing added.

 - Now it is possible to call functions setting commands execution status (e.g., scst_set_cmd_error_status()) several times for the same command. Only the first call will be completed, other calls - ignored.

 - All commands are counted and shown in proc/sysfs now. Before only active, i.e. not yet executed commands, were counted and shown there.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1431 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2010-01-06 13:02:22 +00:00
Bart Van Assche
8e8abd54b5 Fixed the following category of complaints reported by the 2.6.32 checkpatch:
11 ERROR: that open brace { should be on the previous line


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1405 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-12-16 20:01:08 +00:00
Vladislav Bolkhovitin
2b5833d90e Update for 2.6.32 + fix context of vdisk_t10_dev_id_rwlock
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1399 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-12-16 19:21:41 +00:00
Vladislav Bolkhovitin
f519e2c265 Fix spelling typos.
Signed-off-by: Dotan Barak <dotanba@gmail.com>

with additional spelling fixes noticed by frank zago <fzago@systemfabricworks.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1396 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-12-16 11:35:12 +00:00
Vladislav Bolkhovitin
a4f3af18bb Improve fairness between connections.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1360 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-24 19:50:11 +00:00
Vladislav Bolkhovitin
78ec60df89 Fix for warning: 'res' may be used uninitialized in this function
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1358 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-23 18:43:03 +00:00
Vladislav Bolkhovitin
c3ad1a5075 Minor compiler and checkpatch fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1341 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-17 12:59:49 +00:00
Vladislav Bolkhovitin
3261614731 - Fix for memory allocation for scst_user and locally handled commands
- Execution context cleanups and fixes



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1338 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-16 18:05:10 +00:00
Bart Van Assche
0a657760e0 Fixed a (false positive) compiler warning.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1334 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-14 19:30:27 +00:00
Bart Van Assche
2d083413a1 Fixed a sparse error that was introduced in r1324.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1327 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-07 10:15:23 +00:00
Vladislav Bolkhovitin
6153a079a3 iSCSI target sysfs "enabled" attribute implemented
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1324 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-06 18:41:37 +00:00
Bart Van Assche
cdbd65daeb Removed trailing whitespace.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1313 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-03 07:46:39 +00:00
Vladislav Bolkhovitin
2d25617396 Disable inlining in the debug build
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1310 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-02 18:37:53 +00:00
Vladislav Bolkhovitin
3af8bc9a4c Various sysfs related fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1309 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-11-02 18:07:54 +00:00
Vladislav Bolkhovitin
977a20ccba ISCSI target sysfs implementation, except "enabled" attribute.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1305 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-30 20:15:38 +00:00
Vladislav Bolkhovitin
3c93276d8f Cosmetics.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1301 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-29 19:27:14 +00:00
Vladislav Bolkhovitin
f999f978ee Exclude unneeded code from the kernel patch generation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1262 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-23 18:02:25 +00:00
Vladislav Bolkhovitin
ac29495cee Minor output buffer size related fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1257 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-23 11:52:32 +00:00
Bart Van Assche
0af5e1b9e3 Fixed whitespace-related checkpatch errors. Verified that the output of
svn diff -x -w is empty for this changeset.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1253 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-23 06:59:33 +00:00
Vladislav Bolkhovitin
9c10f10b00 Experimental optimization. Suppose that if sock_recvmsg() returned less data than requested, then next time it will return -EAGAIN, so there's no point to call it again.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1236 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-22 12:06:07 +00:00
Vladislav Bolkhovitin
82b04b2a00 Merge of the sysfs branch. To enable the sysfs interface you should run "make disable_proc". To switch back on the procfs interface you should run "make disable_proc".
The sysfs intarface is mostly finished. Only initiators-oriented access control not implemented and not all target drivers are updated. Only qla2x00t has been fully updated.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1229 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-21 16:49:52 +00:00
Vladislav Bolkhovitin
cc83f517ea - Fix for a possible DoS, when misbehavine scst_user's handler hangs several memory allocations (= count of iSCSI read threads) and by so prevents other sessions from being served correctly. Spotted by Erez Zilber <erezzi.list@gmail.com>
- iSCSI read state machine cleanups

 - Fix a race when just freed iSCSI session accessed, because the corresponding SCST session is still being unregistered.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1224 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-10-15 15:56:57 +00:00
Vladislav Bolkhovitin
b22067d540 Update for 2.6.31
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1145 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-25 18:31:33 +00:00
Vladislav Bolkhovitin
ab1835aec5 More consistency in TM functions logging.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1099 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-09-16 18:08:02 +00:00
Vladislav Bolkhovitin
7bdc38faf2 The most recent version of the sparse static source code checking tool does
now report functions that are called with a lock held but that are missing
__acquires() and __releases() annotations. The patch below adds such
annotations and makes the following sparse warnings disappear:

drivers/scst/iscsi-scst/iscsi.c:2861:9: warning: context imbalance in 'iscsi_check_send_delayed_tm_resp' - unexpected unlock
drivers/scst/iscsi-scst/nthread.c:1614:17: warning: context imbalance in 'scst_do_job_wr' - unexpected unlock
drivers/scst/iscsi-scst/iscsi.c:2861:9: warning: context imbalance in 'iscsi_check_send_delayed_tm_resp' - unexpected unlock
drivers/scst/iscsi-scst/nthread.c:1614:17: warning: context imbalance in 'scst_do_job_wr' - unexpected unlock
drivers/scst/scst_local/scst_local.c:554:30: warning: context imbalance in 'scst_local_queuecommand' - unexpected unlock

The patch below has been tested by comparing the output of
"scripts/run-regression-tests 2.6.30.3" before and after the patch was applied.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@982 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 17:52:19 +00:00
Bart Van Assche
e564749845 Removed trailing whitespace.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@947 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-10 12:10:41 +00:00
Vladislav Bolkhovitin
63b86adb27 Fixes wrong usage of parent request's fields in the response.
Reported by Erez Zilber <erezzi.list@gmail.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@945 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-09 18:38:54 +00:00
Vladislav Bolkhovitin
37ba91d275 Update for 2.6.30
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@938 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-08 17:27:30 +00:00
Vladislav Bolkhovitin
fb0256ba8a Small performance optimization: wake up IO/processing threads in LIFO order.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@928 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-06-30 16:13:48 +00:00
Vladislav Bolkhovitin
1c304091f4 - Data digest SMP scalability imcreased
- Iscsi_dump_char() made thread safe



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@841 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-05-11 17:24:51 +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
102603f46d We can't mark sess as shutting down in close_conn(), because at that time it might have pending commands. Otherwise, in case of reinstatement it might lead to data corruption, because commands in being reinstated session can be executed after commands in the new session.
Found out by Hari Subramanian <hari@vmware.com>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@792 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-21 18:25:46 +00:00
Vladislav Bolkhovitin
8c88994bb2 The patch below fixes recently introduced checkpatch complaints on whitespace
and also fixes two (false positive) sparse warnings about uninitialized variables.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@776 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-14 17:50:11 +00:00
Vladislav Bolkhovitin
7b30ca41cb - Now during connection and session reinstatements only SCSI commands are delayed until the corresponding reinstatement finished.
- TEST UNIT READY made HEAD OF QUEUE to let target don't look dead under high load
 - Docs updated



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@774 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-14 17:29:23 +00:00
Vladislav Bolkhovitin
bf4556ec1c A bunch of minor fixes and important cleanups. Particularly:
- More fixes on circular dependency between target_mutex and scst_mutex
 - Docs updated
 - Sense handling cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@764 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-09 10:07:31 +00:00
Vladislav Bolkhovitin
426234630f Missed bits in preventing circular locking dependency between target_mutex and scst_mutex
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@752 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-06 11:19:07 +00:00
Vladislav Bolkhovitin
e62b39196b Bidirectional data transfers added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@744 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-03 17:49:26 +00:00
Vladislav Bolkhovitin
f8eebf8dd8 Fix for circular locking dependency between target_mutex and scst_mutex spotted by lockdep
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@743 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-03 17:38:20 +00:00
Vladislav Bolkhovitin
d121145099 Patch from Frank Zago fixing compilation on 2.6.23 kernel
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@734 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-04-02 18:16:11 +00:00
Vladislav Bolkhovitin
8ff3e56ef6 Fixes deadlock on iSCSI session freeing. Reported by andy yan <andyysj@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@718 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-25 13:03:29 +00:00
Vladislav Bolkhovitin
bc96b052d5 The patch below adds support for the 2.6.29 kernel and also fixes the
checkpatch issues reported by the checkpatch script included with the 2.6.29
kernel and that were not yet reported by the 2.6.28 checkpatch script
(trailing statements should be on the next line / struct should normally be
const).
The patch below has been tested as follows:
- Reran scripts/run-regression-tests -k 2.6.24.7 -k 2.6.25.20 -k 2.6.26.8 -k 2.6.27.21 -k 2.6.28.9 -k 2.6.29 and verified the output.
- Rebuilt, installed and loaded scst, iscsi-scst and srpt as follows:
make -s clean && make -s -C scst install && make -s -C iscsi-scst install && make -s -C srpt install && cd scstadmin && make -s && make -s install && modprobe scst_vdisk && modprobe iscsi-scst && dmesg

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

with minor cleanups and corrections in put_page_callback-2.6.29.patch



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@717 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-25 12:55:27 +00:00
Vladislav Bolkhovitin
2f9f473cde - Fixes broken build if io_context patch not applied
- #warning's cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@715 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-24 10:43:55 +00:00
Vladislav Bolkhovitin
9c552a9b60 The patch below fixes the following recently introduced checkpatch complaints:
* use tabs not spaces

and the following recently introduced sparse warnings:

* drivers/scst/scst_lib.c:437:6: warning: symbol 'scst_queue_report_luns_changed_UA' was not declared. Should it be static?
* drivers/scst/scst_lib.c:3909:21: warning: symbol 'tm_dbg_tgt_dev' was not declared. Should it be static?
* drivers/scst/iscsi-scst/session.c:170:9: warning: cast to non-scalar
* drivers/scst/iscsi-scst/session.c:180:24: warning: cast to non-scalar
The patch below has been verified by reviewing it carefully and by verifying the output of the following command: scripts/run-regression-tests -k 2.6.28.8

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@712 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-23 19:32:32 +00:00