mirror of
https://github.com/SCST-project/scst.git
synced 2026-10-22 14:12:33 +00:00
The core guides have drifted across VDISK, sysfs, build modes, performance tuning and cache semantics. Some advice requires removed kernel patches, prescribes CFQ unconditionally, or treats volatile write-back data as durable. Use scst_vdisk.c for backend options, current sysfs code for attributes, scst/Makefile for build_mode.h and nightly/conf/nightly.conf for the kernel support boundary. Correct the enabled and tgt tokens and document the T10-PI protection SG count. Commit9a0c18aa1c("scst: Disable I/O context sharing for kernel v4.21 and later kernels") limits I/O grouping to old kernels. Linux commit f664a3cc17b7 ("scsi: kill off the legacy IO path") also makes CFQ advice invalid for current kernels. Commitd84fc0783d("vdisk_fileio: Add support for asynchronous I/O processing") added direct I/O to VDISK, and commit3fc775c75a("EXTENDED COPY support") implemented another open ToDo item. Remove both completed tasks and replace stale performance and durability claims with behavior derived from the current stack.
39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
To be done
|
|
----------
|
|
|
|
- See http://scst.sourceforge.net/contributing.html
|
|
|
|
- Add choosing default number of threads for BLOCKIO based on "rotational"
|
|
sysfs attribute of the device.
|
|
|
|
- Remove cmd->data_len
|
|
|
|
- Reimplement VDISK handler with usage of async. read/write operations
|
|
(in order to avoid unnecessary context switches) and direct access to
|
|
the page cache (in order to avoid data copy between it and internal
|
|
buffers). Requires modifications of the kernel.
|
|
|
|
- Dynamic I/O flow control, when the device queue depth on the target
|
|
will be dynamically decreased/increased based on how slow/fast the
|
|
backstorage speed comparing to the target link for current IO
|
|
pattern.
|
|
|
|
- Close integration with Linux initiator SCSI mid-level, including
|
|
queue types (simple, ordered, etc.) and local initiators (sd, st, sg,
|
|
etc.) support. Requires modifications of the kernel.
|
|
|
|
- Improve task management and Unit Attention conditions handling
|
|
using ACA in order to make them always reliable. Honoring NACA, QErr,
|
|
TST, UA_INTLCK_CTRL bits. Requires deep modifications of the kernel.
|
|
|
|
- Better handle of devices DMA restrictions, where needed.
|
|
|
|
- Small ToDo's spread all over the code.
|
|
|
|
- Additional ability for target drivers to ask for command's retry also
|
|
after xmit_response() and rdy_to_xfer() returned (for example, if a
|
|
command was successfully sent to the target card, but later it was
|
|
returned by the card with BUSY completion status).
|
|
|
|
- Advanced SCSI commands support: COPY, third party RESERVE, etc.
|