* added 0.99 linux version
[mascara-docs.git] / i386 / linux / linux-2.3.21 / fs / affs / Changes
blob7a7faedd0dd62ab57bb27381c21a79b50e6936fc
1 (Note: I consider version numbers as cheap. That means
2 that I do not like numbers like 0.1 and the like for
3 things that can be used since quite some time. But
4 then, 3.1 doesn't mean 'perfectly stable', too.)
6 Known bugs:
7 -----------
9 - Doesn't work on the alpha. The only 64/32-bit
10   problem that I'm aware of (pointer/int conversion
11   in readdir()) gives compiler warnings but is
12   apparently not causing the failure, as directory
13   reads basically work (but all files are of size 0).
14   Alas, I've got no alpha to debug. :-(
16 - The partition checker (drivers/block/genhd.c)
17   doesn't work with devices which have 256 byte
18   blocks (some very old SCSI drives). 
20 - The feature to automatically make the fs clean
21   might leave a trashed file system with the
22   bitmap flag set valid.
24 - When a file is truncated to a size that is not
25   a multiple of the blocksize, the rest of the
26   last allocated block is not cleared. Well,
27   this fs never claimed to be Posix conformant.
29 Please direct bug reports to: hjw@zvw.de
31 Version 3.10
32 ------------
34 - Changed partition checker to allow devices
35   with physical blocks != 512 bytes.
37 - The partition checker now also ignores the
38   word at 0xd0 that Windows likes to write to.
40 Version 3.9
41 -----------
43 - Moved cleanup from release_file() to put_inode().
44   This makes the first one obsolete.
46 - truncate() zeroes the unused remainder of a
47   partially used last block when a file is truncated.
48   It also marks the inode dirty now (which is not
49   really necessary as notify_change() will do
50   it anyway).
52 - Added a few comments, fixed some typos (and
53   introduced some new ones), made the debug messages
54   more consistent. Changed a bad example in the
55   doc file (affs.txt).
57 - Sets the NOEXEC flag in read_super() for old file
58   systems, since you can't run programs on them.
60 Version 3.8
61 -----------
62 Bill Hawes kindly reviewed the affs and sent me the
63 patches he did. They're marked (BH). Thanks, Bill!
65 - Cleanup of error handling in read_super().
66   Didn't release all resources in case of an
67   error. (BH)
69 - put_inode() releases the ext cache only if it's
70   no longer needed. (BH)
72 - One set of dentry callbacks is enough. (BH)
74 - Cleanup of error handling in namei.c. (BH)
76 - Cleanup of error handling in file.c. (BH)
78 - The original blocksize of the device is
79   restored when the fs is unmounted. (BH)
81 - getblock() did not invalidate the key cache
82   when it allocated a new block.
84 - Removed some unnecessary locks as Bill
85   suggested.
87 - Simplified match_name(), changed all hashing
88   and case insensitive name comparisons to use
89   uppercase. This makes the tolower() routines
90   obsolete.
92 - Added mount option 'mufs' to force muFS
93   uid/gid interpretation.
95 - File mode changes were not updated on disk.
96   This was fixed before, but somehow got lost.
98 Version 3.7
99 -----------
101 - Added dentry callbacks to allow the dcache to
102   operate case insensitive and length ignorant
103   like the affs itself.
105 - getblock() didn't update the lastblock field in the
106   inode if the fs was not an OFS. This bug only shows
107   up if a file was enlarged via truncate() and there
108   was not enough space.
110 - Remove some more superfluous code left over from
111   the old link days ...
113 - Fixed some oversights which were in patch 2.1.78.
115 - Fixed a few typos.
117 Version 3.6
118 -----------
120 - dentry changes. (Thanks to Jes Sorensen for his help.)
122 - Fixed bug in balloc(): Superblock was not set dirty after
123   the bitmap was changed, so the bitmap wasn't sync'd.
125 - Fixed nasty bug in find_new_zone(): If the current
126   zone number was zero, the loop didn't terminate,
127   causing a solid lock-up.
129 - Removed support for old-style directory reads.
131 - Fixed bug in add_entry(): When doing a sorted insert,
132   the pointer to the next entry in the hash chain wasn't
133   correctly byte-swapped. Since most of the users of the
134   affs use it on a 68k, they didn't notice. But why did
135   I not find this during my tests?
137 - Fixed some oversights (version wasn't updated on some
138   directory changes).
140 - Handling of hard links rewritten. To the VFS
141   they appear now as normal Unix links. They are
142   now resolved only once in lookup(). The backside
143   is that unlink(), rename() and rmdir() have to
144   be smart about them, but the result is worth the
145   effort. This also led to some code cleanup.
147 - Changed name type to unsigned char; the test for
148   invalid filenames didn't work correctly.
149   (Thanks to Michael Krause for pointing at this.)
151 - Changed mapping of executable flag.
153 - Changed all network byte-order macros to the
154   recommended ones.
156 - Added a remount function, so attempts to remount
157   a dircache filesystem or one with errors read/write
158   can be trapped. Previously, ro remounts didn't
159   flush the super block, and rw remounts didn't
160   create allocation zones ...
162 - Call shrink_dcache_parent() in rmdir().
163   (Thanks to Bill Hawes.)
165 - Permission checks in unlink().
167 - Allow mounting of volumes with superfluous
168   bitmap pointers read only, also allows them
169   to be remounted read/write.
171 - Owner/Group defaults now to the fs user (i.e.
172   the one that mounted it) instead of root. This
173   obsoletes the mount options uid and gid.
175 - Argument to volume option could overflow the
176   name buffer. It is now silently truncated to
177   30 characters. (Damn it! This kind of bug
178   is too embarrassing.)
180 - Split inode.c into 2 files, the superblock
181   routines desperately wanted their own file.
183 - truncate() didn't allocate an extension block
184   cache. If a file was extended by means of
185   truncate(), this led to an Oops.
187 - fsuser is now checked last.
189 - rename() will not ignore changes in filename
190   casing any more (though mv(1) still won't allow
191   you to do "mv oldname OldName").
193 Version 3.5
194 -----------
196 - Extension block caches are now allocated on
197   demand instead of when a file is opened, as
198   files can be read and written without opening
199   them (e. g. the loopback device does this).
201 - Removed an unused function.
203 Version 3.4
204 -----------
206 - Hash chains are now sorted by block numbers.
207   (Thanks to Kars de Jong for finding this.)
208 - Removed all unnecessary external symbols.
210 Version 3.3
211 -----------
213 - Tried to make all types 'correct' and consistent.
214 - Errors and warnings are now reported via a
215   function. They are all prefixed by a severity
216   and have the same appearance:
217     "AFFS: <function>: <error message>"
218   (There's one exception to this, as in that function
219   is no pointer to the super block available.)
220 - The filesystem is remounted read-only after an
221   error.
222 - The names of newly created filesystem objects are
223   now checked for validity.
224 - Minor cleanups in comments.
225 - Added this Changes file. At last!
227 Version 3.2
228 -----------
230 - Extension block cache: Reading/writing of huge files
231   (several MB) is much faster (of course the added
232   overhead slows down opening, but this is hardly
233   noticeable).
234 - The same get_block()-routine can now be used for
235   both OFS and FFS.
236 - The super block is now searched in the block that
237   was calculated and in the one following. This
238   should remedy the round-off error introduced by
239   the 1-k blocks that Linux uses.
240 - Minor changes to adhere to the new VFS interface.
241 - The number of used blocks is now also calculated
242   if the filesystem is mounted read-only.
243 - Prefixed some constants with AFFS_ to avoid name
244   clashes.
245 - Removed 'EXPERIMENTAL' status.
247 Version 3.1
248 -----------
250 - Fixed a nasty bug which didn't allow read-only
251   mounts.
252 - Allow dir-cache filesystems to be mounted
253   read only.
254 - OFS support.
255 - Several other changes I just cannot remember
256   any more.
258 Version 3.0
259 -----------
261 - Almost complete rewrite for the new VFS
262   interface in Linux 1.3.
263 - Write support.
264 - Support for hard and symbolic links.
265 - Lots of things I remember even less ...
267 Version 2.0
268 -----------
270 - Fixed a few things to get it compiled.
271 - Automatic root block calculation.
272 - Partition checker for genhd.c
274 ========================================
276 Let's just call Ray Burr's original affs
277 'Version 1.0'.