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