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