| (Note: I consider version numbers as cheap. That means |
| that I do not like numbers like 0.1 and the like for |
| things that can be used since quite some time. But |
| then, 3.1 doesn't mean 'perfectly stable', too.) |
| |
| Known bugs: |
| ----------- |
| |
| - Doesn't work on the alpha. The only 64/32-bit |
| problem that I'm aware of (pointer/int conversion |
| in readdir()) gives compiler warnings but is |
| apparently not causing the failure, as directory |
| reads basically work (but all files are of size 0). |
| Alas, I've got no alpha to debug. :-( |
| |
| - The partition checker (drivers/block/genhd.c) |
| doesn't work with devices which have 256 byte |
| blocks (some very old SCSI drives). |
| |
| - The feature to automatically make the fs clean |
| might leave a trashed file system with the |
| bitmap flag set valid. |
| |
| - When a file is truncated to a size that is not |
| a multiple of the blocksize, the rest of the |
| last allocated block is not cleared. Well, |
| this fs never claimed to be Posix conformant. |
| |
| Please direct bug reports to: zippel@linux-m68k.org |
| |
| Version 3.20 |
| ------------ |
| - kill kernel lock |
| - fix for a possible bitmap corruption |
| |
| Version 3.19 |
| ------------ |
| |
| - sizeof changes from Kernel Janitor Project |
| - several bug fixes found with fsx |
| |
| Version 3.18 |
| ------------ |
| |
| - change to global min macro + warning fixes |
| - add module tags |
| |
| Version 3.17 |
| ------------ |
| |
| - locking fixes |
| - wrong sign in __affs_hash_dentry |
| - remove unnecessary check in affs_new_inode |
| - enable international mode for dircache fs |
| |
| Version 3.16 |
| ------------ |
| |
| - use mark_buffer_dirty_inode instead of mark_buffer_dirty. |
| - introduce affs_lock_{link|dir|ext}. |
| |
| Version 3.15 |
| ------------ |
| |
| - disable link to directories until we can properly support them. |
| - locking fixes for link creation/removal. |
| |
| Version 3.14 |
| ------------ |
| |
| - correctly cut off long file names for compares |
| - correctly initialize s_last_bmap |
| |
| Version 3.13 |
| ------------ |
| |
| Major cleanup for 2.4 [Roman Zippel] |
| - new extended block handling |
| - new bitmap allocation functions |
| - locking should be safe for the future |
| - cleanup of some interfaces |
| |
| Version 3.12 |
| ------------ |
| |
| more 2.4 fixes: [Roman Zippel] |
| - s_lock changes |
| - increased getblock mess |
| - clear meta blocks |
| |
| Version 3.11 |
| ------------ |
| |
| - Converted to use 2.3.x page cache [Dave Jones <dave@powertweak.com>] |
| - Corruption in truncate() bugfix [Ken Tyler <kent@werple.net.au>] |
| |
| Version 3.10 |
| ------------ |
| |
| - Changed partition checker to allow devices |
| with physical blocks != 512 bytes. |
| |
| - The partition checker now also ignores the |
| word at 0xd0 that Windows likes to write to. |
| |
| Version 3.9 |
| ----------- |
| |
| - Moved cleanup from release_file() to put_inode(). |
| This makes the first one obsolete. |
| |
| - truncate() zeroes the unused remainder of a |
| partially used last block when a file is truncated. |
| It also marks the inode dirty now (which is not |
| really necessary as notify_change() will do |
| it anyway). |
| |
| - Added a few comments, fixed some typos (and |
| introduced some new ones), made the debug messages |
| more consistent. Changed a bad example in the |
| doc file (affs.txt). |
| |
| - Sets the NOEXEC flag in read_super() for old file |
| systems, since you can't run programs on them. |
| |
| Version 3.8 |
| ----------- |
| Bill Hawes kindly reviewed the affs and sent me the |
| patches he did. They're marked (BH). Thanks, Bill! |
| |
| - Cleanup of error handling in read_super(). |
| Didn't release all resources in case of an |
| error. (BH) |
| |
| - put_inode() releases the ext cache only if it's |
| no longer needed. (BH) |
| |
| - One set of dentry callbacks is enough. (BH) |
| |
| - Cleanup of error handling in namei.c. (BH) |
| |
| - Cleanup of error handling in file.c. (BH) |
| |
| - The original blocksize of the device is |
| restored when the fs is unmounted. (BH) |
| |
| - getblock() did not invalidate the key cache |
| when it allocated a new block. |
| |
| - Removed some unnecessary locks as Bill |
| suggested. |
| |
| - Simplified match_name(), changed all hashing |
| and case insensitive name comparisons to use |
| uppercase. This makes the tolower() routines |
| obsolete. |
| |
| - Added mount option 'mufs' to force muFS |
| uid/gid interpretation. |
| |
| - File mode changes were not updated on disk. |
| This was fixed before, but somehow got lost. |
| |
| Version 3.7 |
| ----------- |
| |
| - Added dentry callbacks to allow the dcache to |
| operate case insensitive and length ignorant |
| like the affs itself. |
| |
| - getblock() didn't update the lastblock field in the |
| inode if the fs was not an OFS. This bug only shows |
| up if a file was enlarged via truncate() and there |
| was not enough space. |
| |
| - Remove some more superfluous code left over from |
| the old link days ... |
| |
| - Fixed some oversights which were in patch 2.1.78. |
| |
| - Fixed a few typos. |
| |
| Version 3.6 |
| ----------- |
| |
| - dentry changes. (Thanks to Jes Sorensen for his help.) |
| |
| - Fixed bug in balloc(): Superblock was not set dirty after |
| the bitmap was changed, so the bitmap wasn't sync'd. |
| |
| - Fixed nasty bug in find_new_zone(): If the current |
| zone number was zero, the loop didn't terminate, |
| causing a solid lock-up. |
| |
| - Removed support for old-style directory reads. |
| |
| - Fixed bug in add_entry(): When doing a sorted insert, |
| the pointer to the next entry in the hash chain wasn't |
| correctly byte-swapped. Since most of the users of the |
| affs use it on a 68k, they didn't notice. But why did |
| I not find this during my tests? |
| |
| - Fixed some oversights (version wasn't updated on some |
| directory changes). |
| |
| - Handling of hard links rewritten. To the VFS |
| they appear now as normal Unix links. They are |
| now resolved only once in lookup(). The backside |
| is that unlink(), rename() and rmdir() have to |
| be smart about them, but the result is worth the |
| effort. This also led to some code cleanup. |
| |
| - Changed name type to unsigned char; the test for |
| invalid filenames didn't work correctly. |
| (Thanks to Michael Krause for pointing at this.) |
| |
| - Changed mapping of executable flag. |
| |
| - Changed all network byte-order macros to the |
| recommended ones. |
| |
| - Added a remount function, so attempts to remount |
| a dircache filesystem or one with errors read/write |
| can be trapped. Previously, ro remounts didn't |
| flush the super block, and rw remounts didn't |
| create allocation zones ... |
| |
| - Call shrink_dcache_parent() in rmdir(). |
| (Thanks to Bill Hawes.) |
| |
| - Permission checks in unlink(). |
| |
| - Allow mounting of volumes with superfluous |
| bitmap pointers read only, also allows them |
| to be remounted read/write. |
| |
| - Owner/Group defaults now to the fs user (i.e. |
| the one that mounted it) instead of root. This |
| obsoletes the mount options uid and gid. |
| |
| - Argument to volume option could overflow the |
| name buffer. It is now silently truncated to |
| 30 characters. (Damn it! This kind of bug |
| is too embarrassing.) |
| |
| - Split inode.c into 2 files, the superblock |
| routines desperately wanted their own file. |
| |
| - truncate() didn't allocate an extension block |
| cache. If a file was extended by means of |
| truncate(), this led to an Oops. |
| |
| - fsuser is now checked last. |
| |
| - rename() will not ignore changes in filename |
| casing any more (though mv(1) still won't allow |
| you to do "mv oldname OldName"). |
| |
| Version 3.5 |
| ----------- |
| |
| - Extension block caches are now allocated on |
| demand instead of when a file is opened, as |
| files can be read and written without opening |
| them (e. g. the loopback device does this). |
| |
| - Removed an unused function. |
| |
| Version 3.4 |
| ----------- |
| |
| - Hash chains are now sorted by block numbers. |
| (Thanks to Kars de Jong for finding this.) |
| - Removed all unnecessary external symbols. |
| |
| Version 3.3 |
| ----------- |
| |
| - Tried to make all types 'correct' and consistent. |
| - Errors and warnings are now reported via a |
| function. They are all prefixed by a severity |
| and have the same appearance: |
| "AFFS: <function>: <error message>" |
| (There's one exception to this, as in that function |
| is no pointer to the super block available.) |
| - The filesystem is remounted read-only after an |
| error. |
| - The names of newly created filesystem objects are |
| now checked for validity. |
| - Minor cleanups in comments. |
| - Added this Changes file. At last! |
| |
| Version 3.2 |
| ----------- |
| |
| - Extension block cache: Reading/writing of huge files |
| (several MB) is much faster (of course the added |
| overhead slows down opening, but this is hardly |
| noticeable). |
| - The same get_block()-routine can now be used for |
| both OFS and FFS. |
| - The super block is now searched in the block that |
| was calculated and in the one following. This |
| should remedy the round-off error introduced by |
| the 1-k blocks that Linux uses. |
| - Minor changes to adhere to the new VFS interface. |
| - The number of used blocks is now also calculated |
| if the filesystem is mounted read-only. |
| - Prefixed some constants with AFFS_ to avoid name |
| clashes. |
| - Removed 'EXPERIMENTAL' status. |
| |
| Version 3.1 |
| ----------- |
| |
| - Fixed a nasty bug which didn't allow read-only |
| mounts. |
| - Allow dir-cache filesystems to be mounted |
| read only. |
| - OFS support. |
| - Several other changes I just cannot remember |
| any more. |
| |
| Version 3.0 |
| ----------- |
| |
| - Almost complete rewrite for the new VFS |
| interface in Linux 1.3. |
| - Write support. |
| - Support for hard and symbolic links. |
| - Lots of things I remember even less ... |
| |
| Version 2.0 |
| ----------- |
| |
| - Fixed a few things to get it compiled. |
| - Automatic root block calculation. |
| - Partition checker for genhd.c |
| |
| ======================================== |
| |
| Let's just call Ray Burr's original affs |
| 'Version 1.0'. |