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