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