Commit Graph

2695 Commits

Author SHA1 Message Date
Vladislav Bolkhovitin
4eadecd70d Docs update from Bart Van Assche <bvanassche@acm.org>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3582 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 02:34:21 +00:00
Vladislav Bolkhovitin
bc933d59c7 Unmap improvements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3579 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-15 20:16:59 +00:00
Vladislav Bolkhovitin
e13e0e507a Logging improvements and cleanups
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3578 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-15 20:15:56 +00:00
Vladislav Bolkhovitin
7c6431beb4 Merge on the mainline qla2xxx git revision 0f19bc681ed0849a2b95778460a0a8132e3700e2:
Fix MSIX lockdep complain.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3577 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-15 20:12:56 +00:00
Bart Van Assche
00efb5c667 ib_srpt: Internal change to the credit algorithm. No externally observable behavior is changed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3575 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:38:18 +00:00
Bart Van Assche
93da6cc2b9 ib_srpt: Convert srpt_rdma_ch.sq_wr_avail from an atomic into a spinlock-protected integer
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3574 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:35:41 +00:00
Bart Van Assche
cee16c8117 ib_srpt: Disable IB completion notifcations after having received the LAST_WQE notification / show how many SCST commands are still in progress while waiting for session unregistration
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3573 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:32:10 +00:00
Bart Van Assche
46f0460602 ib_srpt: Export RDMA channel state to sysfs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3572 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:26:51 +00:00
Bart Van Assche
0e3137524d ib_srpt: Make srpt_rdy_to_xfer() handle IB send queue overflow correctly.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:22:33 +00:00
Bart Van Assche
82d03efb88 ib_srpt: Restore timeout handler (reverts r3537).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3570 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:19:01 +00:00
Bart Van Assche
562809a2da /etc/init.d/scst: Improved /etc/scst.conf parsing robustness for manually edited scst.conf files
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3569 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-11 15:55:49 +00:00
Bart Van Assche
aa199d8ef6 /etc/init.d/scst: Relax parsing of /etc/scst.conf. Accept sequences of blanks and tabs instead of only spaces when looking for device handler and target driver names.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3568 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-11 10:26:25 +00:00
Bart Van Assche
4ce84f3edb More /etc/init.d/scst tuning:
- Works now if the SCST modules have been compiled into the kernel (=Y) instead of being compiled as modules (=M).
- Rename DAEMONS into SCST_DAEMONS.
- Use the same name for loading and removing the iSCSI kernel module (iscsi_scst).
- Set the path after having read /lib/lsb/init-functions instead of before.
- Remove the path from the killall command.
- When parsing /etc/default/scst, handle both parameters with and without embedded spaces correctly.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-10 18:03:11 +00:00
Bart Van Assche
2debac5ced Slackware: Do not suggest the user to run a script to activate /etc/init.d/scst on boot because such a script does not exist on Slackware.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-10 18:03:06 +00:00
Bart Van Assche
f0336fced9 Follow-up for r3564: add sample /etc/default/scst file
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3565 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-10 17:56:56 +00:00
Vladislav Bolkhovitin
7bde8810f5 Currently there are three different init scripts inside the SCST project:
scst, iscsi-scst and qla2x00t. This makes it unnecessary hard for users to
run several target drivers simultaneously. Additionally, several variants of
these init scripts exist for different distributions. This patch unifies all
these init scripts into a single init script. Additionally, some new features
have been added:
- Kernel module parameters can now be specified per kernel module in
  /etc/default/scst. An example:
 ib_srpt_parameters="thread=1 srp_max_req_size=4200"
- When using the sysfs interface, compute the kernel module list from scst.conf.
  Or, editing the SCST_MODULES variable is no longer necessary.
- When using the procfs interface, the SCST handler kernel module list is
  computed from /etc/scst.conf. The list of target driver kernel modules must
  now be configured in /etc/default/scst.

Other changes:
- scstadmin output is shown if scstadmin fails.
- Running make -C scstadmin install does no longer cause the scst script to
  be started at the next reboot - it is better to leave this as an explicit step.
- Made the error message generated if the lsb-core package has not yet been
  installed more clear.
- Use proper init script path on Slackware.
- make uninstall: run remove_initd under chroot if $(DESTDIR) is not empty.
- Fixed a bug in "make -C scstadmin uninstall": the path specified for removing
  /etc/init.d/scst was wrong.
- The command /etc/init.d/scst restart will only try to start SCST if stopping
  succeeded.
- Replaced "mkdir -m 755 -p $(DESTDIR)$(INITDIR)" by
  "install -d $(DESTDIR)$(INITDIR)" because of uniformity.

These changes have been tested on Ubuntu 11.04, Fedora 15, CentOS 5.6,
Scientific Linux 6.0, openSUSE 11.4, SLES11 SP1 and Slackware 13.37.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3564 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-10 02:38:04 +00:00
Vladislav Bolkhovitin
bcf74cdd7b Web and docs updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3563 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-10 01:43:05 +00:00
Bart Van Assche
7943d6466e ib_srpt: Use a spinlock to protect ch->req_lim and ch->req_lim_delta changes instead of using atomics. Reduces the time spent in the ib_srpt_compl thread with a little bit more than 10%.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3558 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-08 18:13:30 +00:00
Bart Van Assche
aa78149881 ib_srpt: Update test instructions.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3557 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-08 18:05:44 +00:00
Vladislav Bolkhovitin
8b90327419 Modified patch from Bart Van Assche <bvanassche@acm.org> fixing errors reporting
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3552 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-07 18:08:58 +00:00
Vladislav Bolkhovitin
ed07de2ffb - Return no residual if expected values not set instead of BUG_ON(),
because this is valid situation for some preliminary comleted commands.

 - Cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3549 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-06 21:32:16 +00:00
Vladislav Bolkhovitin
2f1745eec1 Set data_out_in_data_receiving for preliminary completed commands as
well to prevent releasing them too early in iscsi_check_tm_data_wait_timeouts()



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3546 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-06 21:04:04 +00:00
Bart Van Assche
ab69b20fe2 ib_srpt: Fix a recently introduced RHEL 5 / CentOS 5 deadlock triggered by initiator logout
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 10:00:57 +00:00
Bart Van Assche
ce81f59468 ib_srpt: Simplify IB CM code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3544 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:59:17 +00:00
Bart Van Assche
2ed01977da ib_srpt: Fix a spelling error
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3543 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:58:32 +00:00
Bart Van Assche
a43b1b63fc ib_srpt: Add a BUG_ON() statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3542 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:58:03 +00:00
Bart Van Assche
1061f1cf43 ib_srpt: Fix a recently introduced leak in an error path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3541 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:57:35 +00:00
Bart Van Assche
8aacdf09ef ib_srpt: Remove an unused variable
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3540 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:56:58 +00:00
Bart Van Assche
3684b6394e ib_srpt: Convert a PRINT_INFO() statement into a TRACE_DBG() statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3539 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 18:17:01 +00:00
Bart Van Assche
6fdc0baaaa ib_srpt: Build fix for non-RHEL pre-2.6.25 kernels.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3538 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 18:10:45 +00:00
Bart Van Assche
0239f80a94 ib_srpt: Remove srpt_pending_cmd_timeout() because it is never invoked
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3537 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:51:46 +00:00
Bart Van Assche
7d3bd0ee6d ib_srpt: Relax I/O context locking
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3536 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:50:54 +00:00
Bart Van Assche
c2bd2e8bf5 ib_srpt: Remove "thread" kernel module parameter and keep thread=1 behavior - the other two modes could cause soft lockup complaints
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3535 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:50:19 +00:00
Bart Van Assche
edf466ba9f ib_srpt: Add more TRACE_ENTRY()/TRACE_EXIT() macros
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3534 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:48:14 +00:00
Bart Van Assche
bd8b360569 ib_srpt: Reduce number of context switches during I/O for mode thread=1.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3533 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:37:56 +00:00
Bart Van Assche
b9f4ee7bc8 ib_srpt: Fix a (hard to trigger) race with regard to SRP login.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3532 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:32:22 +00:00
Bart Van Assche
bc913e9258 ib_srpt: Rework channel closing
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3531 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:27:45 +00:00
Bart Van Assche
f1beb1d82d ib_srpt: Eliminate a kmalloc(GFP_ATOMIC) call
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3530 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:06:12 +00:00
Bart Van Assche
b86ea97241 ib_srpt: Update test plan
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3529 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 13:45:16 +00:00
Bart Van Assche
316ba64801 ib_srpt: Revert r3522.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3528 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:37:09 +00:00
Bart Van Assche
32725f9048 ib_srpt: Introduce the function srpt_set_ch_state_to_draining()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3527 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:36:03 +00:00
Bart Van Assche
554dad3475 ib_srpt: Remove a superfluous break statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3526 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:33:57 +00:00
Bart Van Assche
0e435ce468 Reverted r3521.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3525 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:24:41 +00:00
Vladislav Bolkhovitin
8cfb816e16 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3523 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-03 20:29:48 +00:00
Bart Van Assche
5736aadf0d ib_srpt: Silence a compiler warning.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3522 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-03 07:03:31 +00:00
Bart Van Assche
bdc209d520 ib_srpt: Removed a superfluous if-statement. This is a micro-optimization.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3521 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 19:13:06 +00:00
Bart Van Assche
073a504cd3 ib_srpt: Another follow-up for r3515.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3520 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 19:12:29 +00:00
Bart Van Assche
ea8e30581e Made ib_srpt build with OFED 1.5.3.1.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3519 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 18:21:39 +00:00
Bart Van Assche
1395c41108 ib_srpt: Builds again on RHEL 5.x
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3518 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 16:04:13 +00:00
Bart Van Assche
864b679c38 Only #include <linux/version.h> if necessary.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3517 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 14:55:54 +00:00