Commit Graph

156 Commits

Author SHA1 Message Date
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
Vladislav Bolkhovitin
177824fe91 Unsupported patch from Krzysztof Błaszkowski <kb@sysmikro.com.pl>:
I prepared it for kernel 2.6.27.7-9 which is used by openSuSE11.1-0 but it can 
also be applied to 2.6.27.19-3.2.1 (with some offset/fuzz) which is going to 
be deployed in SLE11.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@711 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-23 19:25:38 +00:00
Vladislav Bolkhovitin
94ae1d6db9 Fixes possible oopses on scst_cmd dereference.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@708 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-20 18:40:55 +00:00
Vladislav Bolkhovitin
27c5d8dcdf The patch below fixes the following recently introduced checkpatch complaints:
* use tabs not spaces
* Macros with complex values should be enclosed in parenthesis.
* printk() should include KERN_ facility level.
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@707 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-20 12:36:01 +00:00
Vladislav Bolkhovitin
071e0a720c Support for descriptor sense format added
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@705 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-20 12:07:48 +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
159ef466dc - Support for SCSI AENs added
- Now sense data are sent without additional memory allocation and copy

 - Sending and receiving padding bytes reimplemented

 - Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@699 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-17 18:05:19 +00:00
Vladislav Bolkhovitin
f9b9d824c6 Session and connection reinstation fixes for cases when they are shutting down and request for reinstation comes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@692 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-06 19:04:48 +00:00
Vladislav Bolkhovitin
bda620b65a - Connection reinstatement fixes
- Minor cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@687 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-04 18:31:35 +00:00
Vladislav Bolkhovitin
bc7c69bfc4 - Fixed a major IET-derived iSCSI RFC violation: sessions and connections were not working
- A lot of cleanups and minor fixes, mostly IET-derived



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@685 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-03-03 18:13:23 +00:00
Vladislav Bolkhovitin
dd1400dddc The patch below adds the following two RHEL 5 / CentOS 5 patches to the SCST
source tree:
- Support for zero-copy TCP transfer completion.
- An implementation of scsi_execute_async_fifo().
Except for the hunk headers, these patches are identical to similarly named
patches already present in the SCST source tree.

Additionally, implementations of seq_list_start() and seq_list_next() are
provided for those kernel versions that do not define these functions.

The patch below has been tested by verifying that iSCSI data transfer still
works OK on CentOS 5.2 (x86_64).

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@657 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-02 11:36:53 +00:00
Vladislav Bolkhovitin
ae5ec143aa The patch below is a minor correction for the 2.6.27 in-tree kernel patches
I submitted about three months ago: the patch headers now refer to the 2.6.27
kernel as they should instead of the 2.6.26 kernel. At least one user has been
confused by this. The patch below does not change any behavior of SCST.
The patch has been tested by verifying that the output of the following
command remained the same as before the modifications:
scripts/run-regression-tests -k 2.6.27

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@656 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-02 11:29:14 +00:00
Vladislav Bolkhovitin
52d7752136 - Removed artificial limitation on sg_tablesize. It isn't needed, because the regular iSCSI negotiated MaxRecvDataSegmentLength-related facilities do all the job pretty well.
- Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@655 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-02-02 11:16:38 +00:00
Vladislav Bolkhovitin
b240091109 Final merge with IET (r201-204):
- 2.6.25 introduced netlink_socket_release(), to be used to clean up netlink sockets correctly (taking care of namespaces).

 - New more scalable proc seq_file implementation

+ minor signess cleanups

+ version updated



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@654 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-01-30 17:47:31 +00:00