Copyrights updated
[mirror/scst/.git] / srpt / ToDo
1 1. Update the OFED wiki entry about SRPT:
2    * https://wiki.openfabrics.org/tiki-index.php?page=SRPT+Installation
3
4
5 2. Analyze and document the implications of
6    sdev->mr = ib_get_dma_mr(sdev->pd, IB_ACCESS_LOCAL_WRITE).
7
8
9 3. Document the features added since 1.0.0 in the README file.
10
11
12 4. Implement support for bidirectionial SCSI commands. The SRP protocol
13    supports these, but the SRP target not yet.
14
15
16 5. Evaluate the possibility of removing the worker thread entirely and
17    instead to add a compile-time option called e.g. CONFIG_SRPT_WORK_IN_TREAD.
18    This compile-time option, if enabled, will process all commands in the SCST
19    context SCST_CONTEXT_THREAD, similar to CONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD.
20
21
22 6. Allocate memory for task management data structures from a memory pool
23    instead of via kmalloc(..., GFP_ATOMIC). The last call has a high
24    probability of failing because the GFP_ATOMIC area is quite small and
25    heavily used when under load (e.g. network drivers allocate skb's from this
26    pool). Failure to allocate memory for even a single task management command
27    would lead to putting the whole device offline with possible corresponding
28    data loss.
29
30
31 7. Replace the calls to srpt_abort_if_disconnecting() by calls to
32    scst_cmd_aborted().
33
34
35 8. Start using the SGV clustering pool. More information can be found in the
36    documentation of struct scst_tgt_template in scst.h (use_clustering has to
37    be set to 1). A general description of the SGV cache can be found here:
38    http://scst.sourceforge.net/sgv_cache.txt.