VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
^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'.