1. Update the OFED wiki entry about SRPT:
   * https://wiki.openfabrics.org/tiki-index.php?page=SRPT+Installation


2. Analyze and document the implications of
   sdev->mr = ib_get_dma_mr(sdev->pd, IB_ACCESS_LOCAL_WRITE).


3. Document the features added since 1.0.0 in the README file.


4. Implement support for bidirectionial SCSI commands. The SRP protocol
   supports these, but the SRP target not yet.


5. Evaluate the possibility of removing the worker thread entirely and
   instead to add a compile-time option called e.g. CONFIG_SRPT_WORK_IN_TREAD.
   This compile-time option, if enabled, will process all commands in the SCST
   context SCST_CONTEXT_THREAD, similar to CONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD.


6. Allocate memory for task management data structures from a memory pool
   instead of via kmalloc(..., GFP_ATOMIC). The last call has a high
   probability of failing because the GFP_ATOMIC area is quite small and
   heavily used when under load (e.g. network drivers allocate skb's from this
   pool). Failure to allocate memory for even a single task management command
   would lead to putting the whole device offline with possible corresponding
   data loss.


7. Replace the calls to srpt_abort_if_disconnecting() by calls to
   scst_cmd_aborted().


8. Start using the SGV clustering pool. More information can be found in the
   documentation of struct scst_tgt_template in scst.h (use_clustering has to
   be set to 1). A general description of the SGV cache can be found here:
   http://scst.sourceforge.net/sgv_cache.txt.
