4b3d60a47134c76d3ac4fe7ef9c0dd04fd5f3324
[mirror/scst/.git] / scst / ChangeLog
1 Summary of changes between versions 0.9.4 and 0.9.5
2 ---------------------------------------------------
3
4  - Fixed many found task management related problems, especially in the
5    RESETs area. DEBUG_TM compilation option added (see README).
6
7  - Updated to work on kernels version 2.6.18+.
8
9  - FILEIO_ONLY added. If it's defined, there is no need to patch the
10    kernel, but pass-through modules (scst_disk, scst_tape, etc.) are not
11    supported).
12
13  - Fixed problems with big amount of LUNs (500+).
14
15  - Timer-based retries for targets after SCST_TGT_RES_QUEUE_FULL status
16    implemented.
17
18  - More intelligent IO flow control implemented.
19
20  - Fixed broken CDROM FILEIO. Before that it always reported 
21    "No medium found"
22
23  - Data synchronization fixes and improvements in FILEIO. Added FUA
24    support.
25
26  - Fixed READ(6)/WRITE(6) CDB decoding for block devices.
27    This bug prevented FreeBSD initiators from working.
28
29  - Implemented sgv_pool. It is mempool-like interface, which caches
30    built SG-vectors in order not to rebuild them again for every
31    subsequent command, so saves performance price of building
32    SG-vectors, including pages allocation, and of additional context
33    switches.
34
35  - For ABORTED commands xmit_response() now called. A target driver
36    should recognized such commands using new function
37    scst_cmd_aborted(). Also there are some other cleanups, improvements
38    and interfaces changes that affect target drivers and dev handlers.
39    You can find their full list by diff'ing scsi_tgt.h between versions
40    0.9.4 and 0.9.5.
41
42  - Function alloc_data_buf() added to struct scst_tgt_template as well
43    as data_buf_tgt_alloc added to struct scst_cmd to allow a target
44    driver implement own memory management handler (by Arne Redlich
45    <arne.redlich@xiranet.com>).
46
47  - Exported symbols are now not GPL'ed
48
49  - Various cleanups and a lot of bug fixes.
50
51 Summary of changes between versions 0.9.3 and 0.9.4
52 ---------------------------------------------------
53
54  - Support for 2.4 kernels has been removed
55
56  - Added on_free_cmd() callback for dev handlers
57
58  - Fixed BUG() on task aborts.
59
60  - Fixed WCE (Write Cache Enabled) handling in FILEIO 
61    (by Ming Zhang <mingz@ele.uri.edu>)
62
63  - Minor cleanups and bug fixes.
64
65 Summary of changes between versions 0.9.3-pre4 and 0.9.3
66 --------------------------------------------------------
67
68  - Fixed IO errors on initiators (return code 20008) under considerable
69    load, because of returned BUSY status. Now QUEUE FULL status returned
70    instead.
71
72  - Fixed "deadlock" on sessions creation.
73
74  - Fixed support for > 2TB storage device in FILEIO handler
75    (by Ming Zhang <mingz@ele.uri.edu>)
76
77  - NULLIO added to FILEIO handler (by Ming Zhang <mingz@ele.uri.edu>)
78
79  - Commands serialization now per-(session, device), i.e. tgt_dev.
80
81  - Minor cleanups and bug fixes
82
83 Summary of changes between versions 0.9.3-pre2 and 0.9.3-pre4
84 -------------------------------------------------------------
85
86  - Sessions registration and unregistrations reimplemented. The
87    interface with target drivers changed (made much more simple, but
88    incompatible).
89
90  - Some kmalloc()'s converted to SLAB caches (by Nathaniel Clark
91    <nate@misrule.us>)
92
93  - Too low timeouts for management operations in scst_disk were
94    increased
95
96  - Cleanups and bug fixes, including several race-based crashes
97
98 Summary of changes between versions 0.9.3-pre1 and 0.9.3-pre2
99 -------------------------------------------------------------
100
101  - Task management was considerably redone. Particularly, now the result
102    of ABORT TASK is returned to remote initiator immediately, except if
103    the result of the aborted command is already started to be sent.
104
105  - Per-session commands serialization implemented as part of "device
106    blocking" cleanup.
107
108  - UA generating after MODE SELECT and LOG SELECT implemented
109
110  - STRICT_SERIALIZING compile-time option added for those who need most
111    robust task management and willing to pay some performance cost for
112    that (see README)
113
114  - IRQ spinlocks were replaced by BH ones, where appropriate.
115
116  - Ability to change ISO image on the fly in CDROM FILEIO module added
117
118  - Cleanups and bug fixes
119
120 Summary of changes between versions 0.9.2 and 0.9.3-pre1
121 --------------------------------------------------------
122
123  - Sophisticated per-initiator access and devices visibility management added
124    (different initiators now could see different set of devices with
125    different permissions)
126
127  - FILEIO dev handler was reimplemented in most areas, including:
128
129     * Management interface via /proc added
130
131     * Various defects using devices/files larger 2Gb were fixed. Thanks
132       to Mark Buechler <mark.buechler@gmail.com>
133
134     * New CDROM FILEIO handler added.
135
136     * Now per-session threads created to improve concurrent performance.
137  
138     * New flags added that allow using virtual devices as read only,
139       with write through caching or in O_DIRECT mode.
140
141     * Task management support added.
142
143  - RAID controller (type 0xC) dev handler added.
144
145  - SCSI processor (type 3) dev handler added.
146
147  - Sessions unregistration contexts cleanup.
148  
149  - Dev handler's on_free_cmd() was dropped. Target driver's flag 
150    "thread_per_session" was dropped as well.
151  
152  - Internal locking partially redone.
153  
154  - A lot of stability/bug fixes, cleanups and performance improvements.
155
156 Summary of changes between versions 0.9.1 and 0.9.2
157 ---------------------------------------------------
158
159  - 2.6 support, developed and tested on 2.6.7.
160  
161  - FILEIO/BLKDEV virtual disk device handler added. See main README for
162    details.
163  
164  - /proc updates, "trace_log_level" entry added to change traced
165    events on the fly.
166    
167  - Some internal interfaces changed, see the documentation.
168  
169  - Device handlers' source code layout changed, all device handlers
170    live in one subdirectory now.
171  
172  - Crash on memory allocation failure while building SG data vector
173    fixed.
174
175  - Other minor fixes
176
177 Summary of changes between versions 0.9.0a and 0.9.1
178 ----------------------------------------------------
179
180  - scst_debug.* files are also installed together with scsi_tgt.h
181    (required by QLA2x00 target and could be useful for other target
182    drivers)
183  
184  - CDB length for unknown commands (e.g. vendor ones) is now determined
185    from CDB
186    
187  - Race with the commands serialization on one drive fixed
188    
189  - Cleanup
190