Commit Graph

2738 Commits

Author SHA1 Message Date
Bart Van Assche de5750b8fb scst_vdisk: Only mark manually set thin_provisioned sysfs attributes as [key]
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3655 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-03 10:04:02 +00:00
Bart Van Assche 42d47feb26 scst_vdisk: Always add a newline after [key] in sysfs attribute values
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3654 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-03 10:03:04 +00:00
Bart Van Assche 30540fd289 scstadmin: Add command-line options -h and --help
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3653 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-03 09:36:33 +00:00
Bart Van Assche 4f9a54f694 Send scstadmin help text to stdout instead of stderr such that it is easier to pipe to less
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3652 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 12:30:34 +00:00
Bart Van Assche bf75702c0b scst: Avoid that the compiler complains about 'dev' being unused with CONFIG_SCST_STRICT_SERIALIZING enabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3651 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 11:55:51 +00:00
Bart Van Assche 6a353597eb ib_srpt: Remove a trailing tab
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3650 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 11:54:14 +00:00
Bart Van Assche 42c151b01c ib_srpt: Increase RDMA completion time from 60s to 80s such that it is above the maximum time it can take for the HCA to deliver a completion (which is 60.129s with local ack timeout = 18 and retry_cnt = 7)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3649 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 11:36:44 +00:00
Bart Van Assche fa232d0c22 ib_srpt: Log QP timeout if debugging is enabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3648 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-01 19:26:11 +00:00
Bart Van Assche 32f5924e18 ib_srpt: Zero-initialize QP attributes before invoking ib_modify_qp()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3647 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-01 19:19:20 +00:00
Bart Van Assche d48497f4d3 scstadmin: Whitespace fixes for the -write_config changes introduced in r3606.
Separate device handler key and non-key attributes with a single blank line
instead of two. Indent <target>.<lun>.<attribute> with three tabs instead
of four.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3646 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-30 18:40:29 +00:00
Vladislav Bolkhovitin f36e96833d - scst_check_local_events() should be called in scst_real_exec() and
scst_local_exec(), because if a command passed in those procedures, it
   for sure was delayed in some list, so recheck if it was aborted is
   necessary.

 - Cleanup



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3645 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-30 01:01:17 +00:00
Vladislav Bolkhovitin 2e7a79a83c Major cleanups:
- SCST_CMD_STATE_* and SCST_MCMD_STATE_* constants converted to enums and made more readable

 - Dev handlers don't have to call scst_check_local_events() anymore, except if they implement internal queuing

Other minor cleanups and fixes



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3644 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-29 01:45:42 +00:00
Vladislav Bolkhovitin 1f7337c8ac - Added CPU barriers around io_context_ready manipulations
- Docs updates
 - Cleanups



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3635 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-28 01:08:31 +00:00
Bart Van Assche 50dfafb30a ib_srpt: Update test documentation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3633 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:57:11 +00:00
Bart Van Assche 8681a0124a ib_srpt: Avoid that failed multipart RDMA transfers cause havoc.
Multipart RDMA transfers can fail after one or more but not all RDMA transfers
have been initiated because either an IB cable has been pulled or the ib_srpt
kernel module has been unloaded while an RDMA transfer is being set up.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3632 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:46:23 +00:00
Bart Van Assche 97ee608748 ib_srpt: Embed HCA name in srpt thread name
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3631 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:32:00 +00:00
Bart Van Assche eff4f33b70 ib_srpt: Relax a BUG_ON() statement into WARN_ON()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3630 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:30:38 +00:00
Bart Van Assche d08012d8cd ib_srpt: Inline srpt_release_channel()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3629 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 13:33:09 +00:00
Bart Van Assche 3e6f7ba432 ib_srpt: Document known max_sge limitations
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3628 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 07:20:49 +00:00
Bart Van Assche 85ac2c728b ib_srpt: Works again on mthca (not tested yet). A quote from the OFED 1.2.5
release notes (docs/mthca_release_notes.txt), section "3. Known Issues":

3. In mem-free devices, RC QPs can be created with a maximum of (max_sge - 3)
   entries only.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3627 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-25 19:32:32 +00:00
Bart Van Assche 5484d6dfc4 ib_srpt: Eliminate the magic constant SRPT_DEF_SG_PER_WQE
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3626 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-25 19:13:50 +00:00
Vladislav Bolkhovitin 2e400cbcdc Docs updates. Update for qla2x00t-howto-debian.html was sent by Barry Schut <b.schut@iu.nl>
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3609 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-24 00:46:02 +00:00
Bart Van Assche d5757a2e11 Kernel version updates
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3608 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-23 18:23:38 +00:00
Bart Van Assche fd5df29c9c ib_srpt: Remove two superfluous blank lines
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3607 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-22 19:28:15 +00:00
Bart Van Assche 0c0cf3215b scstadmin: Multiple -write_config bug fixes.
Bug fixes:
- Do not write out the line "# Non-key attributes" for the top level if -nonkey
  has not been specified.
- If -nonkey has been specified, write out the device handler creation time
  attributes too (blocksize, o_direct, read_only, removable, ...).
- If -nonkey has been specified, write out the LUN creation time attributes
  too (read_only).

Also, simplify the -write_config implementation by introducing the Perl
subroutines serializeKeyAttr() and serializeNkAttr().


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3606 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-22 19:18:39 +00:00
Vladislav Bolkhovitin 6a6dd2bf08 Fix crash on TP check, if file name is NULL
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3603 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-20 20:40:32 +00:00
Vladislav Bolkhovitin 5ff5d0e667 Cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3601 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-20 20:09:04 +00:00
Bart Van Assche f9488e7083 scstadmin: Minor source code simplification
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3600 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 18:43:31 +00:00
Bart Van Assche 08b55c2ce9 scstadmin: Another return value consistency improvement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3599 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 17:30:41 +00:00
Bart Van Assche 5d77498e7a scstadmin: Use 1 instead of TRUE where an integer exit code is returned
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3598 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 16:58:29 +00:00
Bart Van Assche 990d1aae3c scstadmin: Escape a single quote in order not to confuse syntax highlighting editors
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3597 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 16:39:52 +00:00
Bart Van Assche 6719d96059 scstadmin: Fix a typo
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3596 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 16:38:53 +00:00
Bart Van Assche d2f4998270 scstadmin(sysfs): Make writing top-level non-key attributes work. Do not indent these attributes.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3593 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 06:21:49 +00:00
Bart Van Assche ad3db777e6 Remove a recently introduced blank line
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3592 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-19 06:11:03 +00:00
Vladislav Bolkhovitin daa5da87af Several wait loops in the SCST source code are similar. Move the common code
into a new macro called wait_event_locked().

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

+

Micro-optimize wait_event_locked(). Switch from default_wake_function() to
autoremove_wake_function() (via DEFINE_WAIT()). The result is that
wait_queue_head_t.lock is locked once instead of twice for wakeup + wait queue
removal.

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



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3591 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-18 21:15:59 +00:00
Vladislav Bolkhovitin 82fd6b42e5 Return max unmap LBA count in the blocks limits page as well
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3590 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-18 21:00:14 +00:00
Bart Van Assche 6020683851 ib_srpt: Update dynamic LUN documentation
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3589 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-18 11:40:06 +00:00
Vladislav Bolkhovitin cac9e30338 Unmap fixes
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3588 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 22:38:00 +00:00
Vladislav Bolkhovitin 5a18989468 Auto set thin provisioning for BLOCKIO devices
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3587 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 22:35:12 +00:00
Vladislav Bolkhovitin 28fd3bef3c RHEL6 fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3586 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 22:34:04 +00:00
Bart Van Assche feab0a9fe9 ib_srpt README: Add a paragraph about adding and removing LUNs dynamically
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3585 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 17:53:06 +00:00
Bart Van Assche cb5792f74d qla2x00t: Fix a checkpatch complaint about whitespace
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3584 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 10:58:46 +00:00
Vladislav Bolkhovitin ae269f6189 With NPIV initiators being destroyed and recreated, the loop_id and/or
the d_id of a virtual initiator may change. The current implementation not
always catches these changes, which leads to wrong virtual devices
being presented to the initiators. This can lead to i.e. corruption of LUN
content and multiple initiators writing to the same LUN, although the
LUN's access group only contains a single port.

Until a better solution is found, we schedule a session deletion for the
nexus when receiving an ELS  port logout message. That way SCST
will re-initialize both loop_id and d_id when the initiator reconnects
before the actual deletion takes place. The performance impact is
minimal (few milliseconds) and currently necessary.

Signed-off-by: Jens-U. Mozdzen <jmozdzen@nde.ag>



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3583 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-17 02:43:05 +00:00
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