mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-21 12:41:26 +00:00
- Zero-copy feature, introduced by put_page_callback patch, made kernel compile time configurable via CONFIG_TCP_ZERO_COPY_TRANSFER_COMPLETION_NOTIFICATION option. If you upgrade from earlier versions, see the corresponding "[CAUTION]" e-mail in scst-devel mailing list about possible compatibility problems. - SRP target temporary removed from "all" and "install" the main Makefile targets, since it isn't compiled on 2.6.26 - Minor fixes and cleanups git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@475 d57e44dd-8a1f-0410-8b47-8ef2f437770f
285 lines
8.8 KiB
Plaintext
285 lines
8.8 KiB
Plaintext
Summary of changes between versions 1.0.0 and 1.0.1
|
|
---------------------------------------------------
|
|
|
|
- Update for 2.6.26
|
|
|
|
- Minor fixes and cleanups
|
|
|
|
|
|
Summary of changes between versions 0.9.5 and 1.0.0
|
|
---------------------------------------------------
|
|
|
|
- Added per-device memory limit and new scst.ko module parameter scst_max_dev_cmd_mem
|
|
|
|
- Sending REQUEST SENSE fixed
|
|
|
|
- Fixed possible incorrect command's retry if double RESET UA is detected.
|
|
|
|
- Fixed __exit misuse, when such functions called from __init functions.
|
|
|
|
- "RECEIVE DIAGNOSTIC RESULTS" command handling fixed
|
|
|
|
- Obtaining device queue parameters in scst_obtain_device_parameters()
|
|
changed to handle NOT READY sense
|
|
|
|
- Added possibility to create virtual removable devices
|
|
|
|
- Updated to work on 2.6.25.x
|
|
|
|
- Fixed READ POSITION command handling
|
|
|
|
- TM processing made independant from other TM commands (before it was serialized)
|
|
|
|
- Sense buffer made dynamic
|
|
|
|
- Clustering statistic added
|
|
|
|
- Updated to work on 2.6.24.x
|
|
|
|
- Version protection added
|
|
|
|
- Processing latency measurement facility added
|
|
|
|
- Sessions registration/unregistration made independant from other activities
|
|
|
|
- Major performance improvements
|
|
|
|
- Major task management handling improvements
|
|
|
|
- Updated to work on 2.6.23.x
|
|
|
|
- Switching between debug<->performance<->release builds added
|
|
|
|
- scsi_tgt renamed to scst, scsi_tgt.h renamed to scst.h
|
|
|
|
- Updated to work on 2.6.22.x
|
|
|
|
- Semaphores converted to mutexes
|
|
|
|
- 64-bit platform cleanups
|
|
|
|
- Added limit on maximum queued on a device commands
|
|
|
|
- Threads made per-device
|
|
|
|
- User space device handler added
|
|
|
|
- New SGV cache low memory management backend with memory flow control
|
|
facility was implemented, thanks to Krzysztof Blaszkowski.
|
|
|
|
- FILEIO was renamed to VDISK. BLOCKIO added to it, thanks to Ross S. W.
|
|
Walker and Vu Pham.
|
|
|
|
- Updated to work on 2.6.20.x, no update for 2.6.21.x isn't needed
|
|
|
|
- Internal locking and execution context were reimplemnted. As some of
|
|
the results now FILEIO has >1 IO threads and implemented full support
|
|
for SCSI task attributes (SIMPLE, ORDERED, etc.).
|
|
|
|
- Ability to have per-target default security groups added.
|
|
|
|
- Updated to work on 2.6.19.x, thanks to Ming Zhang.
|
|
|
|
- Internal threads management reimplemented based on kthread*() API,
|
|
thanks to Ming Zhang.
|
|
|
|
- /proc implementation moved to seq_*() library, thanks to Ming Zhang.
|
|
Target drivers need to be updated accordingly.
|
|
|
|
- Linear search in the LUN translation routines scst_translate_lun()
|
|
and scst_mgmt_translate_lun() was changed to a hash-based one, thanks
|
|
to Michael G. Byrnes.
|
|
|
|
- Building from the Linux kernel tree updated, inside kernel building fixed.
|
|
|
|
- Support for CPU cache flushing before doing DMA to target devices added.
|
|
|
|
- A lot of cleanups, bug fixes and improvements.
|
|
|
|
Summary of changes between versions 0.9.4 and 0.9.5
|
|
---------------------------------------------------
|
|
|
|
- Fixed many found task management related problems, especially in the
|
|
RESETs area. CONFIG_SCST_DEBUG_TM compilation option added (see README).
|
|
|
|
- Updated to work on kernels version 2.6.18+.
|
|
|
|
- FILEIO_ONLY added. If it's defined, there is no need to patch the
|
|
kernel, but pass-through modules (scst_disk, scst_tape, etc.) are not
|
|
supported).
|
|
|
|
- Fixed problems with big amount of LUNs (500+).
|
|
|
|
- Timer-based retries for targets after SCST_TGT_RES_QUEUE_FULL status
|
|
implemented.
|
|
|
|
- More intelligent IO flow control implemented.
|
|
|
|
- Fixed broken CDROM FILEIO. Before that it always reported
|
|
"No medium found"
|
|
|
|
- Data synchronization fixes and improvements in FILEIO. Added FUA
|
|
support.
|
|
|
|
- Fixed READ(6)/WRITE(6) CDB decoding for block devices.
|
|
This bug prevented FreeBSD initiators from working.
|
|
|
|
- Implemented sgv_pool. It is mempool-like interface, which caches
|
|
built SG-vectors in order not to rebuild them again for every
|
|
subsequent command, so saves performance price of building
|
|
SG-vectors, including pages allocation, and of additional context
|
|
switches.
|
|
|
|
- For ABORTED commands xmit_response() now called. A target driver
|
|
should recognized such commands using new function
|
|
scst_cmd_aborted(). Also there are some other cleanups, improvements
|
|
and interfaces changes that affect target drivers and dev handlers.
|
|
You can find their full list by diff'ing scsi_tgt.h between versions
|
|
0.9.4 and 0.9.5.
|
|
|
|
- Function alloc_data_buf() added to struct scst_tgt_template as well
|
|
as data_buf_tgt_alloc added to struct scst_cmd to allow a target
|
|
driver implement own memory management handler (by Arne Redlich).
|
|
|
|
- Exported symbols are now not GPL'ed
|
|
|
|
- Various cleanups and a lot of bug fixes.
|
|
|
|
Summary of changes between versions 0.9.3 and 0.9.4
|
|
---------------------------------------------------
|
|
|
|
- Support for 2.4 kernels has been removed
|
|
|
|
- Added on_free_cmd() callback for dev handlers
|
|
|
|
- Fixed BUG() on task aborts.
|
|
|
|
- Fixed WCE (Write Cache Enabled) handling in FILEIO (by Ming Zhang)
|
|
|
|
- Minor cleanups and bug fixes.
|
|
|
|
Summary of changes between versions 0.9.3-pre4 and 0.9.3
|
|
--------------------------------------------------------
|
|
|
|
- Fixed IO errors on initiators (return code 20008) under considerable
|
|
load, because of returned BUSY status. Now QUEUE FULL status returned
|
|
instead.
|
|
|
|
- Fixed "deadlock" on sessions creation.
|
|
|
|
- Fixed support for > 2TB storage device in FILEIO handler (by Ming Zhang)
|
|
|
|
- NULLIO added to FILEIO handler (by Ming Zhang)
|
|
|
|
- Commands serialization now per-(session, device), i.e. tgt_dev.
|
|
|
|
- Minor cleanups and bug fixes
|
|
|
|
Summary of changes between versions 0.9.3-pre2 and 0.9.3-pre4
|
|
-------------------------------------------------------------
|
|
|
|
- Sessions registration and unregistrations reimplemented. The
|
|
interface with target drivers changed (made much more simple, but
|
|
incompatible).
|
|
|
|
- Some kmalloc()'s converted to SLAB caches (by Nathaniel Clark)
|
|
|
|
- Too low timeouts for management operations in scst_disk were
|
|
increased
|
|
|
|
- Cleanups and bug fixes, including several race-based crashes
|
|
|
|
Summary of changes between versions 0.9.3-pre1 and 0.9.3-pre2
|
|
-------------------------------------------------------------
|
|
|
|
- Task management was considerably redone. Particularly, now the result
|
|
of ABORT TASK is returned to remote initiator immediately, except if
|
|
the result of the aborted command is already started to be sent.
|
|
|
|
- Per-session commands serialization implemented as part of "device
|
|
blocking" cleanup.
|
|
|
|
- UA generating after MODE SELECT and LOG SELECT implemented
|
|
|
|
- CONFIG_SCST_STRICT_SERIALIZING compile-time option added for those who need
|
|
the most robust task management and willing to pay some performance cost for
|
|
that (see README)
|
|
|
|
- IRQ spinlocks were replaced by BH ones, where appropriate.
|
|
|
|
- Ability to change ISO image on the fly in CDROM FILEIO module added
|
|
|
|
- Cleanups and bug fixes
|
|
|
|
Summary of changes between versions 0.9.2 and 0.9.3-pre1
|
|
--------------------------------------------------------
|
|
|
|
- Sophisticated per-initiator access and devices visibility management added
|
|
(different initiators now could see different set of devices with
|
|
different permissions)
|
|
|
|
- FILEIO dev handler was reimplemented in most areas, including:
|
|
|
|
* Management interface via /proc added
|
|
|
|
* Various defects using devices/files larger 2Gb were fixed. Thanks
|
|
to Mark Buechler.
|
|
|
|
* New CDROM FILEIO handler added.
|
|
|
|
* Now per-session threads created to improve concurrent performance.
|
|
|
|
* New flags added that allow using virtual devices as read only,
|
|
with write through caching or in O_DIRECT mode.
|
|
|
|
* Task management support added.
|
|
|
|
- RAID controller (type 0xC) dev handler added.
|
|
|
|
- SCSI processor (type 3) dev handler added.
|
|
|
|
- Sessions unregistration contexts cleanup.
|
|
|
|
- Dev handler's on_free_cmd() was dropped. Target driver's flag
|
|
"thread_per_session" was dropped as well.
|
|
|
|
- Internal locking partially redone.
|
|
|
|
- A lot of stability/bug fixes, cleanups and performance improvements.
|
|
|
|
Summary of changes between versions 0.9.1 and 0.9.2
|
|
---------------------------------------------------
|
|
|
|
- 2.6 support, developed and tested on 2.6.7.
|
|
|
|
- FILEIO/BLKDEV virtual disk device handler added. See main README for
|
|
details.
|
|
|
|
- /proc updates, "trace_log_level" entry added to change traced
|
|
events on the fly.
|
|
|
|
- Some internal interfaces changed, see the documentation.
|
|
|
|
- Device handlers' source code layout changed, all device handlers
|
|
live in one subdirectory now.
|
|
|
|
- Crash on memory allocation failure while building SG data vector
|
|
fixed.
|
|
|
|
- Other minor fixes
|
|
|
|
Summary of changes between versions 0.9.0a and 0.9.1
|
|
----------------------------------------------------
|
|
|
|
- scst_debug.* files are also installed together with scsi_tgt.h
|
|
(required by QLA2x00 target and could be useful for other target
|
|
drivers)
|
|
|
|
- CDB length for unknown commands (e.g. vendor ones) is now determined
|
|
from CDB
|
|
|
|
- Race with the commands serialization on one drive fixed
|
|
|
|
- Cleanup
|
|
|