~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/fs/affs/Changes

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.