=== RELEASE 0.9.13 === Thu Aug 18 21:27:22 CEST 2011 Fixed a possible checksum failure on anode Anode locking was noticeably simplified Don't increase crash count on background if the filesystem is idle Wed Jul 27 02:21:12 CEST 2011 Fixed a crash with too high NR_CPUs Lowered per-inode memory consumption with too high NR_CPUs === RELEASE 0.9.12 === Sun May 8 16:31:52 CEST 2011 Extended attributes Maintain directory sizes Quota support Spadfsck fixes === RELEASE 0.9.11 === Tue May 4 05:34:36 CEST 2010 Many other changes: Root inode attributes can be changes Stable inode numbers Fixed a memory read beyond buffer end Fixed a crash count non-working when using remount,ro or remount,rw Spadfsck fixes Fixed a bug when file is truncated to its actual size Fixed an extent cache bug Sat Nov 1 20:35:12 CET 2008 Don't allocate from metadata zone if the file rolls over the end of disk Tue Sep 2 05:44:47 CEST 2008 mikulas Fixed for non-barrier devices on Linux 2.6.26. They broke it somehow. Sun Aug 24 01:58:40 CEST 2008 mikulas Fixed BUG on mount when the disk format is corrupted Buffer readahead === RELEASE 0.9.10 === Thu Aug 21 05:31:57 CEST 2008 mikulas Support 2.6.27-rc3 kernel Tue Jul 8 05:26:59 CEST 2008 mikulas Use mutexes instead of semaphores because they are faster Use mpages === RELEASE 0.9.9 === Sat Jun 21 19:17:18 CEST 2008 mikulas Updated for kernel 2.6.26-rc* Thu May 15 22:05:28 CEST 2008 mikulas Fixed some buffer reference leaks Wed May 14 21:38:02 CEST 2008 mikulas Support for kernel 2.6.24, 2.6.25 Fixed memory leak when mounting failed === RELEASE 0.9.8 === Sat Nov 10 19:29:09 CET 2007 mikulas Support for 2.6.23 kernel === RELEASE 0.9.7 === Tue Jul 31 03:33:27 CEST 2007 mikulas Allow extending files with truncate (and fix a bug when truncating by a small amount could truncate few more bytes) Tue Jul 10 04:01:34 MET DST 2007 mikulas Make it compile on 2.6.22 Tue Jul 10 03:41:54 MET DST 2007 mikulas Fixed creating invalid extended attributes when runing git Mon Apr 30 01:32:28 MET DST 2007 mikulas Fixed bug in spadfsck causing in rare cases that it needed to be run twice to correct all bugs Mon Apr 30 01:17:19 MET DST 2007 mikulas Use write barriers when available The idea of barriers is cool (it allows to do sync without blocking blocking activity), the implementation is terrible --- barrier write fails on barrier-incapable device, so filesystems need to have two paths for syncing (Ext3 and XFS have two commit code paths too). It would be much better if WRITE_BARRIER requests always succeeded (eventually degrading to WRITE requests on incapable devices) and filesystem could ask the block layer via some function if barriers are safe. Note that when the device drops support for barriers while mounted, it will break this filesystem (it won't damage data but it will prevent any operations from being commited). I don't know if changing barrier support while mounted is possible. There is a bug in IDE and ATA drivers that they don't support cache on standards earlier than ATA-6 (the author apparently read ATA-6/7/8 docs and didn't realize that in ATA 4 and 5 test for presence of FLUSH_CACHE command is different). IDE driver reports that it doesn't support barriers (even if the cache is turned off) and this filesystem will be marked for fsck in case of crash. Sun Apr 29 16:28:01 MET DST 2007 mikulas Hold buffers for few last used apage maps --- improves performance when doing too many alloc/free operations on the same place Fri Apr 27 05:36:28 MET DST 2007 mikulas Optimized locking for SMP (avoid cacheline bouncing when more CPUs lock for read intensively) === RELEASE 0.9.5 === Thu Mar 22 23:56:33 MET 2007 mikulas Fixed an error when freeing extent that was larger than 2TB and block size was larger than 512. The error couldn't lead to data corruption, only to the situation that part of the extent was not freed and error message was written to log Tue Feb 20 16:27:38 MET 2007 mikulas NEW_WORKQUEUE should be defined from 2.6.20 kernels, not from 2.6.19 Fixed compilation problems with 2.6.19 === RELEASE 0.9.4 === Sun Jan 7 22:16:05 CET 2007 mikulas Make it compile on kernel 2.6.19 and 2.6.20-rc Sun Jan 7 21:13:47 CET 2007 mikulas Changed an inode allocation from GFP_KERNEL to GFP_NOFS --- removes a deadlock possibility and creates a failure possibility (that most other filesystems also have) It should be probably changed to allocate inode outside the lock with GFP_KERNEL Sun Jan 7 20:30:41 MET 2007 mikulas Fixed abuse of i_blkbits --- it would cause error on 2.6.19 but it didn't compile anyway === RELEASE 0.9.3 === Wed Jan 3 05:25:29 MET 2007 mikulas Directories were corrupted and/or kernel locked up if someone tried to create filename longer than 255 characters, now it returns ENAMETOOLONG (found with fsstress) Tue Jan 2 03:05:08 CET 2007 mikulas Fixed getting bad hints on allocator (the bug didn't damage data but lead to fragmentation and bad performance) Tue Jan 2 02:07:49 MET 2007 mikulas Tree structure changed so that utilities are in separate subdirectories (the conding style is still pending change, but I want to do some testing after that) Tue Jan 2 01:26:06 MET 2007 mikulas Reverted 64-bit inode numbers until -EOVERFLOW is resolved Sat Dec 23 23:27:53 MET 2006 mikulas Fixed readdir looping when excessive hash collisions happened Sat Dec 23 22:39:45 MET 2006 mikulas spadfsck fixes: Fixed crash when root directory was dnode (approx > 80 entries) Fixed memory leak (only noticeable with --debug-malloc) Fixed ininite loop during apage rebuild When user declined to fix errors, it could errorneously report unreliable device When allocating chains (this could only happen because of hash mismatch), it did not correctly set prev pointer When recovering directories, it did set badly up-dnode pointer (and set it again correctly on second run) Sat Dec 23 21:02:09 MET 2006 mikulas Return 64-bit inode numbers on 2.6.19 Reduced ino_t collision possibility (to devices > 256Gib) on previous kernels or on old applications that use old 32-bit ino_t Sat Dec 23 20:18:01 MET 2006 mikulas Inode counts in statfs now report total and free blocks in metadata zone (but the filesystem is able to operate even if it runs out of metadata zone and there is free space in other zones) I hope that 0 free inodes statistics won't confuse applications, according to POSIX they shouldn't rely on statvfs results Sat Dec 23 20:15:56 MET 2006 mikulas Fixed possibility that readdir skips some entries if directory is split between successive readdir calls Sat Dec 23 04:16:38 MET 2006 mikulas Fixed reading memory few bytes beyond buffer end Sun Dec 10 21:06:25 cet 2006 mikulas Added comments to code Sun Nov 5 01:10:09 MET 2006 mikulas Removed a forgotten debug print from spadfsck === RELEASE 0.9.2 === Fri Nov 3 19:37:43 MET 2006 mikulas Use largefile when available instead of _llseek (some broken newer systems don't have _syscall macros) Fix compile of utilities with libc5 Fri Nov 3 19:36:54 MET 2006 Jan Engelhardt Build using tools from modules/kernel-version/build directory, not from kernel source === RELEASE 0.9.1 === Fri Nov 3 02:12:31 CET 2006 mikulas Fixed compilation on 2.6.18 and 2.6.19rc kernels === RELEASE 0.9.0 === Fri Nov 2 22:44:17 MET 2006 mikulas First public release vim: textwidth=80