|Reported by:||Owned by:|
New minor version.
Updates/Fixes since v1.43.9:
UI and Features
E2fsprogs now supports the large_dir (INCOMPAT_LARGEDIR) feature. This feature allows larger directories to be created, both with directory sizes over 2GB and and a maximum htree depth of 3 instead of the current limit of 2. These features are needed in order to exceed the currently limit of approximately 10M entries in a single directory for 4KB blocksize (~100k for 1KB).
E2fsprogs now supports the ea_inode (INCOMPAT_EA_INODE) feature, which stores large extended attributes in an external inode instead of a single data block. This is backwards compatible with a Lustre file system feature, but it has been extended to support deduplicating extended attribute values which are used in multiple inodes.
The metadata_csum feature (RO_COMPAT_METADATA_CSUM) is now enabled by default by mke2fs.
The resize2fs program will no longer complain about resizing bigalloc file systems as being dangerous when doing an on-line resize (since this is purely a kernel feature).
Debugfs's ls command will now print the high bits of the inode's mode bits.
Fixed some potential buffer overrun bugs in the blkid library and in the fsck program.
There were some corner cases which tune2fs wouldn't correctly handle when operating on a file system which was not cleanly mounted and thus required running the journal because it could be modified. Tune2fs will now run the journal before trying to change the superblock, and if the file system needs to be checked after the journal has been replayed, it will require it before proceeding. Also if the file system is busy (for example, because it is in use by Lustre), but is not present in the /proc/mounts or /etc/mtab, tune2fs will not try to replay the journal, since this could do real damage if it the file system is being actively modified by the kernel.
The libss library (used by debugfs) now supports the version 7 of the libreadline shared library.
The e2freefrag program will use the GETFSMAP ioctl if it is available and the file system is mounted, so that the free space statistics will be more accurate.
The consistency checks for symlinks (especially for encrypted and inline data file sytems) in e2fsck are now much more careful/stringent. Also fixed a bug where creating a symlink using ext2fs_symlink() which was exactly 60 bytes long when inline data was enabled would result in a missing system.data xattr.
Performance, Internal Implementation, Development Support etc.
Mke2fs now uses io_channel_flush() instead of sync() for the sync_kludge feature.
E2fsprogs now uses i_size as the primary way of determining whether a symlink is a fast symlink.
Fix various compiler and UBSAN warnings.
Long running test are now skipped with "make check" and only run when "make fullcheck". The test runner will warn when potentially long running tests are being run via "make check".
E2fsck is now much faster for bigalloc file systems when scanning extents for bigalloc file systems. (Addresses Google Bug #36886699)