b8b17f4a498c93a420336aa85c0b7f7e7b56d37a
[mirror/scst/.git] / scst / ToDo
1 To be done
2 ----------
3
4  - See http://scst.sourceforge.net/contributing.html
5
6  - Kernel build integration (patch).
7
8  - Reimplement VDISK handler with usage of async. read/write operations
9    (in order to avoid unnecessary context switches) and direct access to
10    the page cache (in order to avoid data copy between it and internal
11    buffers). Requires modifications of the kernel.
12
13  - Dynamic I/O flow control, when the device queue depth on the target
14    will be dynamically decreased/increased based on how slow/fast the
15    backstorage speed comparing to the target link for current IO
16    pattern.
17
18  - Fix in-kernel O_DIRECT mode.
19  
20  - Close integration with Linux initiator SCSI mil-level, including 
21    queue types (simple, ordered, etc.) and local initiators (sd, st, sg,
22    etc.) support. Requires modifications of the kernel.
23
24  - Improve task management and Unit Attention conditions handling
25    using ACA in order to make them always reliable. Honoring NACA, QErr,
26    TST, UA_INTLCK_CTRL bits. Requires deep modifications of the kernel.
27
28  - Better handle of devices DMA restrictions.
29  
30  - Move linear searches to hash-table based.
31  
32  - Small ToDo's spread all over the code.
33
34  - Investigate possible missed emulated UA cases.
35
36  - More target drivers errors handling (timeouts for commands, sent
37    to target drivers, e.g. via xmit_response(), etc.) with some kind
38    of error recovery.
39
40  - Additional ability for target drivers to ask for command's retry also
41    after xmit_response() and rdy_to_xfer() returned (for example, if a
42    command was successfully sent to the target card, but later it was
43    returned by the card with BUSY completion status).
44  
45  - Asynchronous Event Notification support.
46  
47  - Support of SCSI 3 variable length CDBs, as well as OSD's extensions.
48  
49  - Advanced SCSI commands support: COPY, EXTENDED COPY, PERSISTENT
50    RESERVE IN/OUT, third party RESERVE, etc.