Files
scst/iscsi-scst/ToDo
Vladislav Bolkhovitin 925fbcdda3 The bunch of pending changes. Sorry, it's quite big.
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
 - Obtaining device queue parameters in scst_obtain_device_parameters() changed to handle NOT READY sense
 - Fixed possible dev_cmd_count underflow
 - Minor iSCSI-SCST connection closing cleanups and fixes
 - Semantic of other *_atomic flags changed a bit. Now they are intended only to allow SCST to optimize execution context. The corresponing functions now can *always* be called on atomic context and, if necessary, should manually determine that using scst_cmd_atomic() function and restart using corresponding *_NEED_THREAD_* return value.
 - scst_cmd_get_tgt_resp_flags() and SCST_TSC_FLAG_STATUS flag made obsolete and replaced by scst_cmd_get_is_send_status(). All in-tree drivers updated accordingly
 - Cleanup: preprocessing_done_atomic removed, now preprocessing_done() callback always called on thread context
 - 64-bit cleanups
 - Documented that iscsi-scst-adm is currently broken and explained why
 - In user space Makefile's added possibility to specify external linker flags
 - Minor performance optimizations
 - Other minor cleanups


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@350 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2008-04-22 10:30:53 +00:00

35 lines
1.8 KiB
Plaintext

- Reimplement sessions parameters negotiation and storage. In IET
the negotiation isn't iSCSI RFC confirmed: it doesn't support ranges
of values and, more important, violates RFC in case when in the IET
config file some value for some parameter is set and a remote
initiator doesn't initiate the negotiation for this parameter or
declare its value. According to RFC, in this case IET shall use the
RFC-specified default value, but it will use config file specified
one instead. Looks like the implementation confuses IET config file
default values and iSCSI ones. The default values handling was fixed
in very dirty and hackish way, but ranges support remains unfixed.
Storage of set by user parameters should be reimplemented, so they
will be kept in iscsi-scstd, not in the kernel, as it is currently
done in IET's code. Using kernel to *only* store parameters is quite
questionable decision, especially considering that it leads to some
code duplication between kernel and user space, so remove all
parameters storage code from kernel. Remove target_param, leave only
one type of parameters, but separate processing of iSCSI RFC
parameters from local ones (currently they are mixed up). Also mixing
up conceptions of "key" and "param" in param_*() and struct
iscsi_key_ops functions makes the code hardly manageable, particularly
for adding support for ranges in the negotiation keys, so it needs to
be fixed as well.
- Fix iscsi-scst-adm.
- Fix SNACK command handling. Currently it violates iSCSI RFC.
- Consider better integration with TCP internals on receive path to
improve performance.
- The target shouldn't crash/hang/etc. on initiators' misbehavior as
IET likes to do.
- Minor "ToDo"'s spread in the code.