mirror of
https://github.com/SCST-project/scst.git
synced 2026-09-20 15:04:19 +00:00
Updated SRPT documentation.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1024 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -4,33 +4,18 @@
|
||||
|
||||
|
||||
2. The SRPT driver directly uses the internal state of the SCST core target
|
||||
state machine (scmnd->state), which is bad, bad, bad and generally not
|
||||
acceptable. Only dev handler are allowed to use them. This should be fixed.
|
||||
state machine (scmnd->state field / SCST_CMD_STATE_* values), which is bad,
|
||||
bad, bad and generally not acceptable. Only dev handler are allowed to use
|
||||
them. This should be fixed: the SRPT driver should keep its internal state
|
||||
in an SRPT-specific variable. For an example, see also the "Q2T_STATE_"
|
||||
constants in the qla2x00t driver, and especially the function
|
||||
q2t_do_ctio_completion().
|
||||
|
||||
|
||||
3. Fix the race condition between srpt_refresh_port_work() and
|
||||
srpt_remove_one(). Although the probability that this happens is very low,
|
||||
at least in theory it is possible that srpt_refresh_port_work() gets
|
||||
called for a port after srpt_remove_one() called kfree() on the data
|
||||
structure that contains the work_struct passed to srpt_refresh_port_work().
|
||||
It's not clear to me whether or not letting srpt_remove_one() wait until
|
||||
srpt_refresh_work() finished can result in a deadlock.
|
||||
|
||||
|
||||
4. Find out from which threads the srpt_devices list can be accessed and
|
||||
whether it has to be protected by a spinlock or mutex.
|
||||
|
||||
|
||||
5. Fix the issue that 'rmmod ib_srpt' under load hangs.
|
||||
|
||||
|
||||
6. The initiator names supplied to the SCST core contain the target port name,
|
||||
3. The initiator names supplied to the SCST core contain the target port name,
|
||||
which is wrong. Nobody identifies a man by the door through which he entered.
|
||||
Instead, a man has a name by which he is identified through his whole life.
|
||||
|
||||
|
||||
7. Analyze and document the implications of
|
||||
4. Analyze and document the implications of
|
||||
sdev->mr = ib_get_dma_mr(sdev->pd, IB_ACCESS_LOCAL_WRITE).
|
||||
|
||||
|
||||
8. Enable and test the LUN_RESET task management function.
|
||||
|
||||
Reference in New Issue
Block a user