E2fsprogs 1.45.7 (January 28, 2021) ================================== Updates/Fixes since v1.45.6: UI and Features --------------- Mke2fs will now warn when creating a file system on a DAX-capable device and the block size is incompatible with DAX. The chattr and lsattr programs now support using the 'x' attribute to set/get dax support on a particular file. E2fsprogs now supports the gnu.* extended attribute namespace, which allows mke2fs -d to import the gnu.translator extended attributes. Add support for the simultaneous enablement of the casefold and encryption features, which ext4 supports starting with the v5.5 Linux kernel. Fixes ----- When trying to run debugfs on a mounted file system, it's possible for the superblock to be read in an inconsistent state; debugfs will now retry the open in the hopes that it will succeed. Fix an off-by-one error when validating the depth of an htree which caused e2fsck to potentially fail to notice an invalid htree. Fix potential buffer overrun in e2fsck when scanning directory blocks in pass 2. (Addresses Google Bug: #158564737) Fix tune2fs so that it unlocks the MMP block if it can't perform the requested operation. Fix mke2fs so it can import the contents of a directory using the -d option when it has inode numbers that are greater than 2**32. Also fix an ommission were the extended attributes on the top-level directory was not getting copied to the root directory. Fix e4crypt so that the add_key operation uses the explicitly provided salt if it is provided. Fix resize2fs to prevent it from overflowing the block group descriptors from overflowing the first block group. (This can only happen when the block size is 1k and the file system is very large.) Fix debugfs's set_super_value command so it can set 64-bit integer fields, such as s_kbytes_written. Fix filefrag so that it won't crash if the kernel returns zero for statfs(2)'s device id or if it returns a blocksize of zero the device's blocksize. This only happens with kernel bugs, but filefrag shouldn't crash when the kernel returns an unexpected value. Fix a few bad error code returns in the unix and sparse I/O managers. (These errors rarely happen in real life; these were find thanks to a static code checker.) E2fsck will no longer try to fix duplicate file names in an encrypted directory by mutating the file name since that will cause the decrypted file name to be gibberish, or to contain invalid characters. Updated and clarified various man pages. Performance, Internal Implementation, Development Support etc. -------------------------------------------------------------- The misc/mke2fs.conf.in script now properly escaping of double quotes when incorporating the mke2fs.conf into the default_profile.c file. The upstream version of the mke2fs.conf.in file doesn't have any double quotes, but this allows a customized distribution of e2fsprogs to have double quotes in its default mke2fs profile. Speeded up mkfs.ext3 by batching calls to ext2fs_zero_blocks when zeroing the blocks for an indirect-block mapped journal inode. Fixed portability problem for implementations of grep which don't support extended regexp's without the -E option. Fix various compiler and Coverity warnings. Fixed portability issue which caused a build failure when mkdir -p is not thread safe; in that case, the Makefiles would not find the install_sh replacement script. Fixed various Debian packaging issues. Synchronized changes from Android's AOSP e2fsprogs tree. Update the Dutch, Malay, and Serbian translations from the translation project.