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

TOMOYO Linux Cross Reference
Linux/fs/affs/Changes

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
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: zippel@linux-m68k.org
 30 
 31 Version 3.20
 32 ------------
 33 - kill kernel lock
 34 - fix for a possible bitmap corruption
 35 
 36 Version 3.19
 37 ------------
 38 
 39 - sizeof changes from Kernel Janitor Project
 40 - several bug fixes found with fsx
 41 
 42 Version 3.18
 43 ------------
 44 
 45 - change to global min macro + warning fixes
 46 - add module tags
 47 
 48 Version 3.17
 49 ------------
 50 
 51 - locking fixes
 52 - wrong sign in __affs_hash_dentry
 53 - remove unnecessary check in affs_new_inode
 54 - enable international mode for dircache fs
 55 
 56 Version 3.16
 57 ------------
 58 
 59 - use mark_buffer_dirty_inode instead of mark_buffer_dirty.
 60 - introduce affs_lock_{link|dir|ext}.
 61 
 62 Version 3.15
 63 ------------
 64 
 65 - disable link to directories until we can properly support them.
 66 - locking fixes for link creation/removal.
 67 
 68 Version 3.14
 69 ------------
 70 
 71 - correctly cut off long file names for compares
 72 - correctly initialize s_last_bmap
 73 
 74 Version 3.13
 75 ------------
 76 
 77 Major cleanup for 2.4 [Roman Zippel]
 78 - new extended block handling
 79 - new bitmap allocation functions
 80 - locking should be safe for the future
 81 - cleanup of some interfaces
 82 
 83 Version 3.12
 84 ------------
 85 
 86 more 2.4 fixes: [Roman Zippel]
 87 - s_lock changes
 88 - increased getblock mess
 89 - clear meta blocks 
 90 
 91 Version 3.11
 92 ------------
 93 
 94 - Converted to use 2.3.x page cache [Dave Jones]
 95 - Corruption in truncate() bugfix [Ken Tyler <kent@werple.net.au>]
 96 
 97 Version 3.10
 98 ------------
 99 
100 - Changed partition checker to allow devices
101   with physical blocks != 512 bytes.
102 
103 - The partition checker now also ignores the
104   word at 0xd0 that Windows likes to write to.
105 
106 Version 3.9
107 -----------
108 
109 - Moved cleanup from release_file() to put_inode().
110   This makes the first one obsolete.
111 
112 - truncate() zeroes the unused remainder of a
113   partially used last block when a file is truncated.
114   It also marks the inode dirty now (which is not
115   really necessary as notify_change() will do
116   it anyway).
117 
118 - Added a few comments, fixed some typos (and
119   introduced some new ones), made the debug messages
120   more consistent. Changed a bad example in the
121   doc file (affs.txt).
122 
123 - Sets the NOEXEC flag in read_super() for old file
124   systems, since you can't run programs on them.
125 
126 Version 3.8
127 -----------
128 Bill Hawes kindly reviewed the affs and sent me the
129 patches he did. They're marked (BH). Thanks, Bill!
130 
131 - Cleanup of error handling in read_super().
132   Didn't release all resources in case of an
133   error. (BH)
134 
135 - put_inode() releases the ext cache only if it's
136   no longer needed. (BH)
137 
138 - One set of dentry callbacks is enough. (BH)
139 
140 - Cleanup of error handling in namei.c. (BH)
141 
142 - Cleanup of error handling in file.c. (BH)
143 
144 - The original blocksize of the device is
145   restored when the fs is unmounted. (BH)
146 
147 - getblock() did not invalidate the key cache
148   when it allocated a new block.
149 
150 - Removed some unnecessary locks as Bill
151   suggested.
152 
153 - Simplified match_name(), changed all hashing
154   and case insensitive name comparisons to use
155   uppercase. This makes the tolower() routines
156   obsolete.
157 
158 - Added mount option 'mufs' to force muFS
159   uid/gid interpretation.
160 
161 - File mode changes were not updated on disk.
162   This was fixed before, but somehow got lost.
163 
164 Version 3.7
165 -----------
166 
167 - Added dentry callbacks to allow the dcache to
168   operate case insensitive and length ignorant
169   like the affs itself.
170 
171 - getblock() didn't update the lastblock field in the
172   inode if the fs was not an OFS. This bug only shows
173   up if a file was enlarged via truncate() and there
174   was not enough space.
175 
176 - Remove some more superfluous code left over from
177   the old link days ...
178 
179 - Fixed some oversights which were in patch 2.1.78.
180 
181 - Fixed a few typos.
182 
183 Version 3.6
184 -----------
185 
186 - dentry changes. (Thanks to Jes Sorensen for his help.)
187 
188 - Fixed bug in balloc(): Superblock was not set dirty after
189   the bitmap was changed, so the bitmap wasn't sync'd.
190 
191 - Fixed nasty bug in find_new_zone(): If the current
192   zone number was zero, the loop didn't terminate,
193   causing a solid lock-up.
194 
195 - Removed support for old-style directory reads.
196 
197 - Fixed bug in add_entry(): When doing a sorted insert,
198   the pointer to the next entry in the hash chain wasn't
199   correctly byte-swapped. Since most of the users of the
200   affs use it on a 68k, they didn't notice. But why did
201   I not find this during my tests?
202 
203 - Fixed some oversights (version wasn't updated on some
204   directory changes).
205 
206 - Handling of hard links rewritten. To the VFS
207   they appear now as normal Unix links. They are
208   now resolved only once in lookup(). The backside
209   is that unlink(), rename() and rmdir() have to
210   be smart about them, but the result is worth the
211   effort. This also led to some code cleanup.
212 
213 - Changed name type to unsigned char; the test for
214   invalid filenames didn't work correctly.
215   (Thanks to Michael Krause for pointing at this.)
216 
217 - Changed mapping of executable flag.
218 
219 - Changed all network byte-order macros to the
220   recommended ones.
221 
222 - Added a remount function, so attempts to remount
223   a dircache filesystem or one with errors read/write
224   can be trapped. Previously, ro remounts didn't
225   flush the super block, and rw remounts didn't
226   create allocation zones ...
227 
228 - Call shrink_dcache_parent() in rmdir().
229   (Thanks to Bill Hawes.)
230 
231 - Permission checks in unlink().
232 
233 - Allow mounting of volumes with superfluous
234   bitmap pointers read only, also allows them
235   to be remounted read/write.
236 
237 - Owner/Group defaults now to the fs user (i.e.
238   the one that mounted it) instead of root. This
239   obsoletes the mount options uid and gid.
240 
241 - Argument to volume option could overflow the
242   name buffer. It is now silently truncated to
243   30 characters. (Damn it! This kind of bug
244   is too embarrassing.)
245 
246 - Split inode.c into 2 files, the superblock
247   routines desperately wanted their own file.
248 
249 - truncate() didn't allocate an extension block
250   cache. If a file was extended by means of
251   truncate(), this led to an Oops.
252 
253 - fsuser is now checked last.
254 
255 - rename() will not ignore changes in filename
256   casing any more (though mv(1) still won't allow
257   you to do "mv oldname OldName").
258 
259 Version 3.5
260 -----------
261 
262 - Extension block caches are now allocated on
263   demand instead of when a file is opened, as
264   files can be read and written without opening
265   them (e. g. the loopback device does this).
266 
267 - Removed an unused function.
268 
269 Version 3.4
270 -----------
271 
272 - Hash chains are now sorted by block numbers.
273   (Thanks to Kars de Jong for finding this.)
274 - Removed all unnecessary external symbols.
275 
276 Version 3.3
277 -----------
278 
279 - Tried to make all types 'correct' and consistent.
280 - Errors and warnings are now reported via a
281   function. They are all prefixed by a severity
282   and have the same appearance:
283     "AFFS: <function>: <error message>"
284   (There's one exception to this, as in that function
285   is no pointer to the super block available.)
286 - The filesystem is remounted read-only after an
287   error.
288 - The names of newly created filesystem objects are
289   now checked for validity.
290 - Minor cleanups in comments.
291 - Added this Changes file. At last!
292 
293 Version 3.2
294 -----------
295 
296 - Extension block cache: Reading/writing of huge files
297   (several MB) is much faster (of course the added
298   overhead slows down opening, but this is hardly
299   noticeable).
300 - The same get_block()-routine can now be used for
301   both OFS and FFS.
302 - The super block is now searched in the block that
303   was calculated and in the one following. This
304   should remedy the round-off error introduced by
305   the 1-k blocks that Linux uses.
306 - Minor changes to adhere to the new VFS interface.
307 - The number of used blocks is now also calculated
308   if the filesystem is mounted read-only.
309 - Prefixed some constants with AFFS_ to avoid name
310   clashes.
311 - Removed 'EXPERIMENTAL' status.
312 
313 Version 3.1
314 -----------
315 
316 - Fixed a nasty bug which didn't allow read-only
317   mounts.
318 - Allow dir-cache filesystems to be mounted
319   read only.
320 - OFS support.
321 - Several other changes I just cannot remember
322   any more.
323 
324 Version 3.0
325 -----------
326 
327 - Almost complete rewrite for the new VFS
328   interface in Linux 1.3.
329 - Write support.
330 - Support for hard and symbolic links.
331 - Lots of things I remember even less ...
332 
333 Version 2.0
334 -----------
335 
336 - Fixed a few things to get it compiled.
337 - Automatic root block calculation.
338 - Partition checker for genhd.c
339 
340 ========================================
341 
342 Let's just call Ray Burr's original affs
343 'Version 1.0'.

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

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php