Files
scst/scst/ChangeLog
Vladislav Bolkhovitin 73e27412fb - Update for 2.6.26
- 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
2008-07-24 09:22:55 +00:00

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