Features Download
From: Theodore Ts'o <tytso <at> mit.edu>
Subject: Release of E2fsprogs 1.42.6
Newsgroups: gmane.comp.file-systems.ext4
Date: Tuesday 22nd January 2013 04:30:53 UTC (over 4 years ago)
I've released e2fsprogs 1.42.7 in all of the usual places; it's tagged
in the git trees on git.kernel.org, github, sourceforge, and
code.google.com, and available for ftp at:




This release includes some significant improvements to resize2fs; in
particular it resolves a number of bugs which could lead to file systems
getting corrupted, especially filesystems with the 64-bit or bigalloc
features enabled.

                                                - Ted

E2fsprogs 1.42.7 (January 21, 2013)

Add warnings to mke2fs, resize2fs, and tune2fs that the bigalloc and
quota features are still under development.  For more information
please see:
    * https://ext4.wiki.kernel.org/index.php/Bigalloc
    * https://ext4.wiki.kernel.org/index.php/Quota

Add some new options to filefrag from Lustre's patches to e2fsprogs:
    * add -k option to print extents in kB-sized units (like df -k)
    * add -b {blocksize} to print extents in blocksize units
    * add -e option to print extent format, even when FIBMAP is used
    * add -X option to print extents in hexadecimal format

Fix resize2fs so that it can handle off-line resizes of file systems
with the flex_bg feature but without a resize_inode (or if we run out
of reserved gdt blocks).  This also fixes a problem where if the user
creates a filesystem with a restricted number of reserved gdt blocks,
an off-line resize which grows the file system could potentially
result in file system corruption.

Fix a resize2fs bug which could cause it to corrupt bigalloc file
systems when doing an off-line resize.

Further optimize resize2fs so it doesn't use quite as much CPU when
resizing very large file systems. 

Fixed 32-bit overflow bugs which could cause resize2fs to fail and
possibly corrupt the file system while resizing 64-bit file systems.

Fix a bug in mke2fs where parsing "-E resize=NNN" will result in a
mke2fs crash due to a divide-by-zero if the 64bit file system feature
is enabled.

Add better error checking to mke2fs to check for invalid parameters
when creating bigalloc file system.

When creating bigalloc filesystems, the -g option to mke2fs will now
specify the number of clusters per block group.

Add to debugfs the functionality to corrupt a specific file system
block via the "zap_block" command.

Add to debugfs the functionality to print out a hex dump of a block in
the file system via the "block_dump" command.

Add to debugfs the functionality to manipulate the extent tree
directly via the "extent_open" command.

Fixed debugfs's mknod command so that it updates the block group

Fix e2fsck so it can detect and fix inconsistencies in the interior
nodes of an inode's extent tree.

Fix a potential memory corruption failure in e2fsck's error path if
the call to ext2fs_open2() fails.

Fix e2fsck if its logging function is enabled in e2fsck.conf, and the
resulting file name for the log file is longer than 100 bytes, that it
properly handles this situation instead of crashing.

E2fsck will now report the amount of memory that it attempted to
allocate when a memory allocation request fails, to make it easier to
track down the problem.

Fix mke2fs's handling of the mmp_update_interval option.  (Addresses
Lustre Bug: LU-1888)

E2image can now include all data blocks in the e2image output file
when the user specifies the -a option.

If e2fsprogs is compiled without --enable-quota, make sure that
tune2fs can not turn on the feature for new-style quota support, since
afterwards, none of the e2fsprogs tools will be willing to touch that
file system.

Optimize e2fsck's so that it uses much less CPU for large file
systems.  This can result in significant speedups, especially on
CPU-constrained systems.  This was primarily done by optimizing
libext2fs's bitmap functions.  (Addresses Google Bug: #7534813)

Fix debugfs's htree command so that all its messages are sent through
the pager.

Fixed debugfs's "dump_file" and "cat" functions work correctly
on file systems whose block size is greater than 8k.

Fix e2freefrag so it works on 64-bit file systems, and so it uses much
less memory.  (Addresses Google Bug: 7269948)

Update the spd_readdir.c file in the contrib directory to include some
additions which were made in 2008 that didn't get folded into the
version which we checked into the e2fsprogs source tree.  These
enhancements include thread safety, support for readdir64_r(), and
safe_getenv() support in case spd_readdir.so is used for setuid binaries.

Update Czech, Dutch, French, German, Polish, Sweedish, and Vietnamese

Add a command to debugfs to create symlinks.

Document the bigalloc feature in the mke2fs man page.  (Addresses
Debian Bug: #669730)

Programmer's Notes

Fix gcc -Wall nits.

Fix a spelling typo in the libext2fs texinfo documentation.

Change the output from "make check" so that tools such as emacs's "M-x
compile" does not mistake the output as containing a compiler error.

Export two new functions from libext2fs: ext2fs_extent_node_split()
and ext2fs_extent_goto2().

The ext2fs_extents_fix_parents() was fixed so it does not modify the
location of the extent handle if its current location is at an
interior node, rather than a leaf node of an inode's extent tree.

Add a regression test to assure that e2fsck can correctly fix an
inconsistent interior node in an inode's extent tree.

The ext2fs_{mark,unmark,test}_block_bitmap_range2() functions now
correctly support bigalloc file systems which use store block usage
information in units of clusters.

Fixed the help text in the configure script for --enable-quota.

The m68k-specific bitops code has been removed since they were
incorrectly treating bit numbers with the high bit set as signed
integers.  Furthermore, modern compilers do a good enough job
optimizing the generic code there is no point in having the m68k
specific asm statements.

Fixed how we link the test programs so they always use the static
libraries, so that we test using the libraries which we have just

Update config.guess and config.sub to the latest versions from the GNU

Fixed the com_err.texinfo file so that it can produce a valid
postscript/pdf printed output.

Add a regression test which checks debugfs's ability to create
symlinks, named FIFO's, and device nodes.

Add a function ext2fs_symlink(), which creates symlinks to the
libext2fs library.

Add debugging code so we can test old kernel interfaces for online
resize to resize2fs.  This backwards compatibility checking is keyed
off of the RESIZE2FS_KERNEL_VERSION, which is designed to allow us to
test the functionality of the kernel's older resize ioctls without
needing to install an old version of resize2fs, and to also test a
modern resize2fs's ability to work with older kernels without having
to install an older version of the kernel.

To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
CD: 3ms