Whamcloud - gitweb
Merge branch 'maint' into next
[tools/e2fsprogs.git] / RELEASE-NOTES
index ec9b00a..c9c8052 100644 (file)
@@ -1,3 +1,437 @@
+E2fsprogs 1.41.12 (May 17, 2010)
+================================
+
+Mke2fs now gives a correct error message if the external journal
+device is not found.  (Addresses Red Hat Bug #572935)
+
+Resize2fs -P will now refuse to print a minimum size if the file
+system is not clean.  Previously it would go ahead and print a minimum
+size anyway, which might not be correct, leading to user confusion.
+
+E2fsck now tests for extents that begin at physical block 0 and
+rejects them as invalid.  (Addresses Google Bug: #2573806)
+    
+Fixed a bug in e2fsck which could cause it to crash when trying to
+remove an invalid extent and the block bitmaps hadn't yet been loaded.
+(Addresses SourceForge Bug: #2971800)
+    
+E2fsck now will completely skip time-based checks if the system clock
+looks insane or the option broken_system_clock is set in
+/etc/e2fsck.conf.
+
+E2fsck would previously report an i_blocks corruption for a 4T file
+created using posix_fallocate; this bug has been fixed.
+
+E2fsck will now correctly mark a sparse journal as invalid and will
+delete and recreate the journal to address the problem.
+
+E2fsck would previously incorrectly ask the user whether she would
+like to abort the file system check after finding a problem --- and
+then abort regardless of the user's answer.  This is annoying, and
+has been fixed.
+
+E2fsck can now continue even if it fails to recreate the resize
+inode; previously it would just abort the file system check
+altogether.
+
+E2fsck could potentially remove directory entries for inodes found in
+the unused region of the inode table; this would generally happen on
+ext4 file systems that do not use journaling.  This bug has been fixed
+by not clearing these directory entries once it has been established
+that bg_unused_inodes may not be trustworthy; once pass #2 has been
+completed, e2fsck will restart the file system check from the
+beginning, and then it will be safe to delete any directory entries
+pointing to inodes that appear to be deleted.  (Addresses Google Bug:
+#2642165)
+    
+E2fsck will not try to set the block group checksums if the user
+cancels the fsck with a control-C.  It's a bad idea to set the
+checksums if e2fsck hasn't been completed, and it often results an the
+error message, "Inode bitmap not loaded while setting block group
+checksum info".  (Addresses Launchpad Bug: #582035)
+
+The mke2fs program now queries the kernel for the physical as well as
+the logical sector size, and will not allow a blocksize below the
+logical, and will strongly encourage a blocksize at least as big as
+the physical blocksize.  This is needed for 4k sector drives that
+emulate 512 byte sector sizes.
+
+Mke2fs will now allow a flex_bg size of 1.  This is unusual, and
+rarely needed, but it is a legal value.
+
+E2fsck will check for cases where the EOFBLOCKS_FL is set when it is
+not needed, and offer to clear it; this is a sign of a kernel bug, but
+more importantly, some released kernels may crash when this situation
+is encountered on ext4 file systems.  (Addresses Google Bug: #2604224)
+    
+E2fsck will use the EOFBLOCKS_FL flag exclusively to check whether
+i_size is correct.  (Kernels starting with 2.6.34 will set
+EOFBLOCKS_FL.)
+
+The com_err library will now only output ^M (a CR character) when the
+tty is in raw mode.
+
+Update the Czech, Chinese, Dutch, French, Germany, Indonesian, Polish,
+and Vietnamese translations.
+
+Fixed various Debian packaging issues --- see debian/changelog for
+details.  (Addresses Debian Bugs: #571247, #563487)
+
+
+Programmer's Notes
+------------------
+
+The regression test suite now uses its own mke2fs.conf file, so that
+downstream distributions want change the mke2fs.conf file which is
+distributed in the RPM or dpkg file, without worrying about screwing
+up the regression test results.
+
+Always build namei.o so that building with configure --disable-debugfs
+works correctly.  Long-term, if we care about reduced e2fsprogs
+builds, we need a more general solution for deciding what .o files are
+needed for a particular build.  Given that install floppies are going
+(gone?) the way the dodo bird, we probably don't care, though.
+(Addresses Sourceforge Bug: #2911433)
+
+Add configure options --enable-symlink-build and
+--enable-symlink-install, which allow e2fsprogs be built using
+symlinks instad of hard links, and to be installed using symlinks
+instead of hard links, respectively.  It is useful when the file
+system where the build is taking place, or the file system where
+e2fsprogs is installed, can't handle hard links for some reason.
+(Addresses Sourceforge Bug: #1436294)
+
+Fixed compile warning in mke2fs.c.
+
+    
+E2fsprogs 1.41.11 (March 14, 2010)
+==================================
+
+E2fsck will no longer give a fatal error and abort if the physical
+device has been resized beyond 2**32 blocks.  (Addresses Launchpad
+Bug: #521648)
+
+Debugfs has a bug fixed so that "logdump -b <blk>" now properly shows
+the allocation status of the block <blk>.  (Addresses Debian Bug:
+#564084)
+    
+E2fsck now prints a much more emphatic and hopefully scary message
+when a file system is detected as mounted while doing a read/write
+check of the filesystem.  Hopefully this will dissuade users from
+thinking, "surely that message doesn't apply to *me*" :-(
+
+E2fsck -n will now always open the file system read-only.  We now
+disallow certain combination of options which previously were manual
+exceptions; this is bad because it causes users to think they are
+smarter than they really are.  So "-n -c", "-n -l", "-n -L", and "-n
+-D" are no longer supported.  (Addresses Launchpad Bug: #537483)
+    
+In e2fsprogs 1.41.10, mke2fs would ask for confirmation to proceed if
+it detected a badly aligned partition.  Unfortunately, this broke some
+distribution installation scripts, so it now just prints the warning
+message and proceeds.  (Addresses Red Hat Bug: #569021. Addresses
+Launchpad Bug: #530071)
+    
+Mke2fs would take a long time to create very large journal files for
+ext4.  This was caused by a bug in ext2fs_block_iterate2(), which is
+now fixed.
+
+E2fsck now understands the EOFBLOCKS_FL flag which will be used in
+2.6.34 kernels to make e2fsck not complain about blocks deliberately
+fallocated() beyond an inode's i_size.
+
+E2fsprogs 1.41.10 introduced a regression (in commit b71e018) where
+e2fsck -fD can corrupt non-indexed directories when are exists one or
+more file names which alphabetically sort before ".".  This can happen
+with ext2 filesystems or for small directories (take less than a lock)
+which contain filenames that begin with a space or some other
+punctuation mark.  (Addresses Debian Bug: #573923, Addresses Launchpad
+Bug: #525114)
+
+
+Programmer's Notes
+------------------
+
+Add new test, f_rehash_dir, which checks to make sure e2fsck -D works
+correctly.
+
+The libcom_err function now has support for Heimdal's com_right_r
+function().  (Addresses Sourceforge Bug: #2963865, Addresses Debian
+Bug: #558910)
+
+
+E2fsprogs 1.41.10 (February 7, 2010)
+====================================
+
+Fix resize2fs bug which causes it to access invalid memory.
+
+Add libss support for libreadline.so.6.
+    
+Fix e2fsck's check for extent-mapped directory with an incorrect file
+type.
+
+Add new e2fsck.conf configuration option, default/broken_system_clock
+to support systems with broken CMOS hardware clocks.  Also, since too
+many distributions seem to have broken virtualization scripts now,
+e2fsck will by default accept dates which are off by up to 24 hours by
+default.  (Addresses Debian Bugs: #559776, #557636)
+
+Fix a bug where mke2fs may not use the best placement of the inode
+table when there is only room for a single block group in the last
+flex_bg.
+
+E2fsck is now smarter when it needs to allocate blocks in the course
+of fixing file system problems.  This reduces the number of spurious
+differences found in pass #5.
+
+E2fsck will no longer rehash directories which fit in a single
+directory block.
+
+E2fsck now correctly handles holes in extent-mapped directories (i.e.,
+sparse directories which use extents).
+
+Fix big-endian problems with ext2fs_bmap() and ext2fs_bmap2().
+
+Fix a bug in filefrag where on platforms which can allow file systems
+with 8k blocks, that it doesn't core dump when it sees a file system
+with 8k block sizes.  (Thanks to Mikulas Patocka for pointing this
+out.)
+
+E2fsck will correctly fix directories that are have an inaccurate
+i_size as well as other problems in a single pass, instead of
+requiring two e2fsck runs before the file system is fully fixed.
+
+Fix e2fsck so it will correctly find and detect duplicate directory
+entries for non-indexed directories.  ( Addresses Sourceforge Bug:
+#2862551)
+    
+Mke2fs will use BLKDISCARD to pre-discard all blocks on an SSD or
+thinly-provisioned storage device.  This can be disabled using the -K
+option.
+
+Enhance libext2fs so it works around bug in Linux version 2.6.19
+and earlier where the /proc/swaps file was missing the header on
+the first line.
+
+Fix bug in Linux version 2.6.19 and earlier where the /proc/swaps file
+was missing the header on the first line.
+
+Fix some big-endian bugs in e2fsck and libext2fs.
+
+Fix resize2fs so it works correctly on file systems with external
+journals instead of failing early with the error "Illegal inode
+number".
+
+Fix libss so that it does not seg fault when using a readline library
+which does not supply a readline_shutdown() function.
+
+Updated dumpe2fs's usage message so it correctly gives the right
+arguments summary for "-o superblock=<num>" and "-o blocksize=<num>".
+(Addresses Launchpad Bug: #448099)
+   
+Teach libext2fs to ignore the high 32 bits of the i_blocks field
+when huge_file file system feature is set, but the inode does not
+have the HUGE_FILE_FL flag set.
+
+Fix e2fsck's handling of 64-bit i_blocks fields.
+
+E2fsck will now print "Illegal indirect block", "Illegal
+double-indirect block", etc., instead of "Illegal block #-1" or
+"Illegal block #-2", etc.  This makes it easier for users to
+understand what has gone wrong.  (Addresses SourceForge Bug: #2871782)
+
+Mke2fs now will obtain get device topology information from blkid and
+use it to populate the superblock stride and stripe sizes.  It will
+also warn if the block device is misaligned
+
+Fix file descriptor leaks in fsck and debugfs.  (Addresses Novell Bug:
+##524526)
+
+Fix the libext2fs library code to round up the bitmap size to a 4-byte
+boundary, to prevent spurious seg faults caused by the x86
+architecture.  This doesn't affect Linux systems, but was a major
+problem on a number of *BSD systems.  (Addresses Sourceforge Bug:
+#2328708)
+
+Fix resize2fs's minimum size required for a file system so it doesn't
+fail when "resize2fs -M" is run.  (Addresses RedHat Bugzilla: #519131)
+    
+Dumpe2fs now prints summary information about the contents of the
+journal.
+    
+Avoid printing scary error messages when e2fsck starts running
+problems on low-memory systems, as it tends to panic and mislead the
+user.  (Addresses Debian Bug: #509529)
+
+Fix blkid's modules.dep parser so it handles compressed (.ko.gz)
+modules files.  (Address Red Hat Bug: #518572)
+    
+Fix tune2fs so it can add a journal when an extent-enabled file system
+is mounted.  (Addresses Launchpad bug: #416648)
+
+Update Czech, Indonesian, Polish and Vietnamese translations (from the
+Translation Project).
+    
+Update/clarify man pages.  (Addresses Sourceforge Bug: #2822186)
+
+Fixed various Debian packaging issues --- see debian/changelog for
+details.  (Addresses Debian Bugs: #540111)
+
+Programmer's Notes
+------------------
+
+The configure script supports the --with-cc, --with-ccopts, and
+--with-ldopts options.  Instead, the more standard use of CC=,
+CCFLAGS=, and LDFLAGS= in the configure command line is used instead.
+Also, --with-ld, which never worked, was also removed.
+(Addresses Sourceforge Bug: #2843248)
+
+The in-tree header files are only used if the in-tree uuid or blkid
+libraries are used.  Otherwise, use the system-provided uuid or blkid
+header files if using the system-provided libraries.
+
+Fix some build failures caused by --disable-* configure options.
+
+Work around a bug in autoconf 2.64.
+
+
+E2fsprogs 1.41.9 (August 22, 2009)
+==================================
+
+Fix a bug in e2fsck routines for reallocating an inode table which
+could cause it to loop forever on an ext4 filesystem with the FLEX_BG
+filesystem feature with a relatively rare (and specific) filesystem
+corruption.  This fix causes e2fsck to try to find space for a new
+portion of the inode table in the containing flex_bg, and if that
+fails, the new portion of the inode table will be allocated in any
+free space available in the filesystem.
+
+Make e2fsck less annoying by only asking for permission to relocate a
+block group's inode table once, instead of for every overlapping
+block.  Similarly, only ask once to recompute the block group
+checksums, instead of once for each corrupted block group's checksum.
+
+Fix filefrag to avoid print the extent header if the FIEMAP ioctl is
+not present, and it needs to fall back to using the FIBMAP ioctl.
+
+Fix filefrag to correctly print the number of extents for zero-length
+files.  (Addresses Debian Bug: #540376)
+
+Filefrag now has a -B option which forces the use of the FIBMAP ioctl
+to more easily debug the FIBMAP code.
+
+Fixed filefrag for non-extent based files.
+
+Add a new program, e2freefrag, which displays information about the
+free space fragmentation in an ext2/3/4 filesystem.
+
+Fix inode resizing via tune2fs -I so that it works correctly in the
+face of non-empty bad blocks inodes, and if the filesystem was
+formatted using the "mke2fs -E stride=N" option for RAID arrays.
+
+Fix regression in ext2fs_extent_set_bmap() caused e2fsck -fD to fail
+and corrupt large directories if the directory needs to shrink by more
+than one block.  (Addresses Debian Bug: #537510)
+    
+Fix e2fsck's buggy_init_scritps=1 so that the if the last write and/or
+last mount times are in the future, they are corrected even if
+buggy_init_scripts is set.  This is needed because otherwise resize2fs
+will refuse to resize the filesystem, even after running "e2fsck -f".
+(Addresses Launchpad bug: #373409)
+
+E2fsck will now print much fuller information when the last mount time
+or last written time is in the future, since most people can't seem to
+believe their distribution has buggy init scripts, or they have a
+failed CMOS/RTS clock battery.
+
+Enhance dumpe2fs to dump the extent information via the 'stat'
+command, and more detailed extent information via the new command
+'dump_extents'.
+    
+Update French, Polish, Czech, and Sweedish translation from the
+Translation Project.
+
+Fixed various Debian packaging issues --- see debian/changelog for
+details.
+
+Programmer's Notes
+------------------
+
+Fixed miscellaneous gcc -Wall warnings.
+
+Fixed memory leak in error path in ext2fs_block_iterate2()
+
+Fixed non-Linux build of the intl directory by adding support for the
+E/Q/V macros.
+
+The bitmap read/write functions now treat uninitialized bitmaps as
+unallocated; this fixes a number of problems in all e2fsprogs for ext4
+filesystems when there is a need to allocate new blocks or inodes, and
+there aren't any free blocks or inodes in the already-used block
+groups.
+
+Improve ext2fs_extent_set_bmap() to avoid creating new extents which
+get inserted into the extent tree when they are not needed.
+    
+
+E2fsprogs 1.41.8 (July 11, 2009)
+================================
+
+Fix resize2fs's online resizing, fixing a regression which in
+e2fpsrogs 1.41.7.   (Addresses Debian Bug: #535452)
+
+Fix potential filesystem corruptions caused by using resize2fs to
+shrinking ext4 filesystems with extents enabled.  (Addresses Red Hat
+Bug: #510379)
+
+Optimize uuid_generate() to avoid running uuidd if it is not setuid or
+setgid and the currently running program doesn't have write access to
+the uuidd work directory.
+
+Add safety checks (for non-Linux systems) so that uuidd isn't run with
+file descriptors 0, 1, and 2 closed; and if they are closed, uuidd
+will be careful not to close the file descriptor for its unix domain
+socket when it detaches itself from the controlling tty.  Also add
+safety checks so that if the unix domain socket between the uuid
+library and uuidd program is closed for any reason, both the library
+and the uuidd will return an appropriate error code instead of looping
+in an infinite loop.
+
+The e2croncheck script, which creates an LVM snapshot and then checks
+the ext3/4 filesystem via the LVM snapshot, has been added to the
+contrib directory.
+
+Fix filefrag program for files that have more than 144 extents.
+
+Update French, Polish, Czech, Indonsian, and Sweedish translation from
+the Translation Project.
+
+Fixed various Debian packaging issues --- see debian/changelog for
+details.  (Addresses Debian Bug #535530)
+
+Update/clarify man pages.
+
+Programmer's Notes
+------------------
+
+Fix compilation problem when configured with --disable-uuid.
+
+Don't build uuidgen if configured with --disable-uuid.
+
+Add the new library function ext2fs_test_inode_bitmap_range(), and
+optimized ext2fs_test_block_bitmap_range(), which will be needed for
+future optimizations for e2fsck.
+
+Fix makefile dependencies for libcom_err so that the Makefiles work
+well on non-GNU make program.  (Addresses Sourceforge Patches: #2813809)
+
+Enhance the build system so that the full set of commands executed by
+the Makefiles are displayed, instead of the Linux kernel summary
+output, if the build was configured with --enable-verbose-makecmds, or
+if GNU make is in use and the V variable is non-null, i.e., via "make
+V=1".
+
+
 E2fsprogs 1.41.7 (June 29, 2009)
 ================================