Commit Graph

963 Commits

Author SHA1 Message Date
Bart Van Assche
bbad4dfcaa - Fixed memory leak in srpt_handle_tsk_mgmt() error path.
- Modified srpt_build_cmd_rsp() and srpt_build_tskmgmt_rsp() such that
  these two functions now return the number of bytes of the response PDU
  built.
- Converted a printk() statement to TRACE_DBG().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1029 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-08 15:02:19 +00:00
Bart Van Assche
375a72b685 Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1028 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-08 14:59:28 +00:00
Stanislaw Gruszka
79e1938ff3 Update README.scst a bit.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1027 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-08 13:50:16 +00:00
Bart Van Assche
1b516fab15 Implemented SRPT command state management. The SRPT target code does no
longer rely on the struct scst_cmd state managed by the SCST core.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1026 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-08 11:52:46 +00:00
Bart Van Assche
10ec474914 Updated Subversion ignore list.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1025 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-07 14:17:40 +00:00
Bart Van Assche
c7572cd2cb Updated SRPT documentation.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1024 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-07 14:14:19 +00:00
Vladislav Bolkhovitin
4588200994 Patch from Bart Van Assche <bart.vanassche@gmail.com>:
Since SCST r979 the SRP target source code does no longer compile on RHEL /
CentOS systems where OFED has been installed. This is because OFED has its
own backported versions of the 2.6.20+ workqueue API and already includes a
definition of cancel_delayed_work_sync(). The patch below makes sure that on
RHEL 5 / CentOS 5 systems with OFED 1.4 installed the SCST definition of
cancel_delayed_work_sync() does not conflict with the OFED definition of
the same function.

The patch below has been tested by verifying that the SRPT source code
compiles and runs fine on CentOS 5.3 + OFED 1.4.1 and also on a system with
a vanilla 2.6.30.4 kernel.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1023 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 17:18:28 +00:00
Vladislav Bolkhovitin
b9cc1d34a2 - Atomic move of a security name from one security group to another implemented
- Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1020 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 16:28:23 +00:00
Bart Van Assche
79b9d3141c Fixed the following checkpatch complaint: return is not a function,
parentheses are not required.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1019 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 13:42:28 +00:00
Vladislav Bolkhovitin
eb9a1f15c3 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1018 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 11:49:05 +00:00
Vladislav Bolkhovitin
a65caa9b9b Automatic sessions reassignment implemented
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1017 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 11:47:18 +00:00
Bart Van Assche
7286d22319 Fixed data races on manipulation of the srpt_devices list by eliminating
this list. Only the number of IB devices is relevant for the SRPT
implementation. Introduced a new counter that tracks the number of IB
devices.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1016 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 10:05:10 +00:00
Bart Van Assche
e9feb2e818 - Refactoring: split srpt_ch_qp_rtr_rts() into two functions, namely
srpt_ch_qp_rtr() and srpt_ch_qp_rts().
- Replaced dynamic memory allocation (kmalloc()/kfree()) in the aforementioned
  two functions by stack allocation.
- Compiles again on pre-2.6.22 kernels (RHEL / CentOS systems).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1015 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-06 09:12:37 +00:00
Bart Van Assche
8ca3e36e99 - Fixed race conditions related to channel state manipulation.
- Inlined srpt_disconnect_channel().
- Modified error handling coding style in srpt_cm_req_recv() to the usual
  kernel coding style: upon error, jump to the error handling code.
- Added more comments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1014 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-05 19:48:16 +00:00
Vladislav Bolkhovitin
0e1890f3c7 Minor docs update
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1013 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-05 09:50:11 +00:00
Bart Van Assche
6dc8835e7e - Bug fix: if processing of any of the SRP task management functions by
the SCST core fails (abort task, LUN reset, ...), an SRP_RSP PDU is
  now sent back to the initiator.
- Added more debug tracing statements.
- Improved readability of some parts of the source code.
- Added more comments.
- Partially reverted one hunk of r1003: while casting an unsigned 64-bit
  value to the type u64 and printing such values via %llx works fine on
  x86 systems, the same code triggers a compiler warning on PowerPC
  systems. So while r1003 changed some (unsigned long long) casts to (u64)
  casts, this revision changes these back to (unsigned long long) casts.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1012 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 18:45:46 +00:00
Vladislav Bolkhovitin
b06a932d2c Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1011 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 17:50:43 +00:00
Vladislav Bolkhovitin
cef4a0ec28 A minor SAM violation fixed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1010 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 17:17:16 +00:00
Vladislav Bolkhovitin
c722a2b159 Minor typo noticed by Bart Van Assche <bart.vanassche@gmail.com>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1009 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 16:59:09 +00:00
Vladislav Bolkhovitin
01c113dbb4 Patch from Smadar Gonen <smadar.gn@gmail.com>:
The following fixes were made:

 - Use monotonic clock as time source instead of a real-time clock so change of system time will not affect calculation.

 - Init scst_time to 0 + minor display fix.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1007 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 11:59:15 +00:00
Vladislav Bolkhovitin
24f4743f68 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1006 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-04 11:10:18 +00:00
Bart Van Assche
70110ec078 Fixed race conditions on RDMA channel manipulations found via source reading:
- Added a second argument to srpt_find_channel() that specified whether or not
  the channel should be removed from the channel list if found.
- Moved list_del() statement from the body of the srpt_release_channel()
  function to its callers.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1005 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-03 16:00:36 +00:00
Bart Van Assche
7234de012f Multiple cosmetic source code changes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1004 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-03 15:06:00 +00:00
Bart Van Assche
47d7742f4e - Enabled the LUN reset task management function.
- Changed return type of srpt_release_channel() from int to void
  because the return value did depend in a trivial way on the function
  arguments. Changed the return type of srpt_find_and_release_channel()
  and several of its callers also from int to void. Instead
  srpt_cm_handler() now directly sets its own return value.
- Converted a list_for_each_entry_safe() into a list_for_each_entry() loop
  because no elements are added or deleted in the loop body.
- Converted debug-printk() statements into TRACE_DBG().
- Changed indentation of one statement from 12 to 16 (was not reported by
  checkpatch).


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1003 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-02 18:57:48 +00:00
Bart Van Assche
7cb9d95684 Added even more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1002 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-02 18:45:40 +00:00
Bart Van Assche
4d249a4112 Added command-line option -f, which allows to skip the test whether there is still data present.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1001 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-02 18:04:21 +00:00
Bart Van Assche
c49f89cec1 Whitespace-only change: fixed a checkpatch complaint.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1000 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-01 06:50:36 +00:00
Bart Van Assche
7c25f55ad9 Only call scst_tgt_cmd_done() if scst_rx_data() has not been called.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@999 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-08-01 06:03:55 +00:00
Bart Van Assche
58eb630bd0 Fixed the issue that 'rmmod ib_srpt' with ongoing SRP I/O could trigger
a deadlock.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@998 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-31 11:40:10 +00:00
Bart Van Assche
f5097d6263 Whitespace-only changes: fixed checkpatch complaints introduced in the previous commit.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@997 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-31 11:33:26 +00:00
Bart Van Assche
221ce1846b Added more comments.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@996 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-31 11:27:54 +00:00
Vladislav Bolkhovitin
3fd8348c46 Patch from Smadar Gonen <smadar.gn@gmail.com> fixing some minor corner cases
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@994 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-31 10:52:40 +00:00
Bart Van Assche
ec9041654c Upgraded kernel versions 2.6.27.28 and 2.6.30.3 to 2.6.27.29 and 2.6.30.4 respectively.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@993 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-31 06:21:31 +00:00
Bart Van Assche
745a852fbe - Fixed a buffer overrun: a service entry name occupying 35 bytes was
written into a buffer with a size of 32 bytes. Enlarged the buffer
  to 36 bytes.
- Converted sprintf() calls to snprintf() calls.
- Added more TRACE_ENTRY() / TRACE_EXIT() statements.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@992 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-30 12:48:06 +00:00
Bart Van Assche
57f4019ed5 Moved /sys/class/infiniband_srpt/trace_level to
/proc/scsi_tgt/ib_srpt/trace_level such that the behavior of the
ib_srpt target is consistent with that of other SCST drivers.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@991 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-30 08:32:23 +00:00
Bart Van Assche
3bf7d6dca1 Compiles again with tracing disabled.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@990 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-30 06:38:15 +00:00
Bart Van Assche
3e18defd73 Should have been included in the previous commit (r988).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@989 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-29 18:14:41 +00:00
Bart Van Assche
5d67fefe37 - Fixed a race condition found via source reading: srpt_remove_one() did not
wait until srpt_refresh_port_work() finished. This race condition could be
  triggered during module removal.
- Added a kernel module parameter called "trace_flag" that allows to set the
  trace flags for the ib_srpt module before module initialization starts.
- Added sysfs variable /sys/class/infiniband_srpt/trace_level that allows to
  display and to modify the enabled trace flags in a human-readable form.
- Added several TRACE_ENTRY() / TRACE_EXIT() statements.
- Added more comments.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@988 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-29 16:57:00 +00:00
Bart Van Assche
606ef2bea5 Whitespace-only changes: removed trailing whitespace because checkpatch complained about it.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@987 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-29 15:46:46 +00:00
Vladislav Bolkhovitin
d257a9541d - Possibility to operate with single size entries as well as control of the reclamation time added to the SGV caache
- Fileio_tgt updated to be able to use those neww facilities

 - Docs updated. Particulary, a new dociment describing the SGV cache added



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@986 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-29 12:49:17 +00:00
Vladislav Bolkhovitin
e2b8393690 Web updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@985 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-28 11:01:22 +00:00
Vladislav Bolkhovitin
aac4e05c23 Patch from Gal Rosen <galr@storwize.com>:
I suggest the attached patch for the issue of disabling target mode
while I/O.

Fix BUG in qla target. Set ha->tgt to NULL in wrong place (when
disabling target mode). This cause to unfinished commands, and the echo
command to disabling the target mode to stuck. scst_tgt_cmd_done never
called because the ha->tgt was set to NULL before it should be. ha->tgt
already set to NULL in q2t_target_release after all task managements
finished and all commands were cleaned, so the fix just remove the set
from q2t_host_action.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@984 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-28 09:29:12 +00:00
Bart Van Assche
833d111501 Whitespace-only change: fixed a recently introduced checkpatch error
about trailing whitespace.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@983 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-28 07:35:38 +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
Vladislav Bolkhovitin
eef2e46c90 Minor web fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@981 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 17:49:19 +00:00
Vladislav Bolkhovitin
7cbd0df80d - Implemented abort on timeout of stuck in the firmware commands
- Minor cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@980 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 17:33:48 +00:00
Vladislav Bolkhovitin
eb144f2e6f - Implemented abort on timeout of stuck in tgt hardware commands
- Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@979 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 16:59:49 +00:00
Vladislav Bolkhovitin
db5fbe625c Fix double free
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@977 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 16:19:10 +00:00
Vladislav Bolkhovitin
fa5fb3a3de WEB upates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@976 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-27 11:39:05 +00:00
Bart Van Assche
b767ec183d Removed a trailing space because checkpatch complained about it.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@975 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2009-07-25 06:49:04 +00:00