109 lines
4.2 KiB
Plaintext
109 lines
4.2 KiB
Plaintext
E2fsprogs 1.46.0 (January 29, 2021)
|
|
===================================
|
|
|
|
Updates/Fixes since v1.45.7:
|
|
|
|
UI and Features
|
|
---------------
|
|
|
|
E2fsprogs now supports the fast_commit (COMPAT_FAST_COMMIT) feature.
|
|
This feature, first available in Linux version 5.10, adds a fine-grained
|
|
journalling which improves the latency of the fsync(2) system call. It
|
|
should also improve the performance of ext4 file systems exported via
|
|
NFS.
|
|
|
|
E2fsprogs now supports the stable_inodes (COMPAT_STABLE_INODES) feature.
|
|
This needed to support fscrypt siphash algorithm, which calculates the
|
|
initial vector (IV) for encryption based on the UUID and the inode
|
|
number. This means that we can't renumber inodes (for example, when
|
|
shrinking a file system) and the UUID can't be changed without breaking
|
|
the ability to decrypt the encryption.
|
|
|
|
E2fsprogs now supports file systems which have both file system
|
|
encryption and the casefold feature enabled. This is used in some
|
|
Android handsets, but has not yet landed upstream yet.
|
|
|
|
E2fsck now will check file names on file systems with case folding
|
|
enabled to make sure the characters are valid UTF-8 characters. This is
|
|
done for file systems which enforce strict encodings, and optionally if
|
|
the extended "check_encoding" option is requested.
|
|
|
|
The fuse2fs program now supports the "-o norecovery" option, which will
|
|
suppress any journal replay that might be necessary, and mounts the file
|
|
system read-only.
|
|
|
|
E2fsck will now find and fix file system corruptions when the encrypted
|
|
files have a different policy from their containing directory.
|
|
|
|
The "htree" command in debugfs now displays the metadata checksums for
|
|
hash tree index blocks.
|
|
|
|
Dumpe2fs will print the error code that Linux kernels newer than v5.6
|
|
will save to indicate the class of error which triggered the ext4_error
|
|
event.
|
|
|
|
E2fsprogs programs (in particular, fuse2fs) can now update htree
|
|
directories without clearing the htree index.
|
|
|
|
Mke2fs now sets the s_overhead_cluster field, so that the kernel doesn't
|
|
need to calculate it at mount time. This speeds up mounting very large
|
|
file systems.
|
|
|
|
|
|
Fixes
|
|
-----
|
|
|
|
E2fsck will properly handle checking for duplicated file names when case
|
|
folding is enabled.
|
|
|
|
Fix various bugs where a maliciously corrupted file systems could case
|
|
e2fsck and other e2fsprogs programs to crash.
|
|
|
|
Tune2fs will properly recalculate directory block checksums when
|
|
clearing the dir_index feature.
|
|
|
|
Fix a bug in e2fsck directory rehashing which could fail with ENOSPC
|
|
because it doesn't take into account the space needed for the metadata
|
|
checksum, and doesn't create a sufficiently deep index tree.
|
|
|
|
Clarify the e2fsck messages when it resets the directory link count when
|
|
it is set to the overflow value but it is no longer needed.
|
|
|
|
The filefrag program can now request the kernel to display the extent
|
|
status cache by using "filefrag -E". (This requires Linux version 5.4
|
|
or newer.)
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
--------------------------------------------------------------
|
|
|
|
Speed up mke2fs when creating large bigalloc file systems by optimizing
|
|
ext2fs_convert_subcluster_bitmap().
|
|
|
|
Bitmap blocks are now read using multiple threads (for systems with
|
|
pthread support). This speeds up dumpe2fs, e2fsck, and debugfs for very
|
|
large file systems.
|
|
|
|
The dumpe2fs and tune2fs will now avoiding to read the block group
|
|
descriptors when they are not needed, which speeds up these program when
|
|
operating on very large file systems.
|
|
|
|
Drop use of the sysctl(2) system call, which is deprecated in Linux.
|
|
|
|
Add support for "configure --enable-developer-features" which enables
|
|
features only meant for developer. The first such feature is "e2fsck -E
|
|
clear_all_uninit_bits", which clears the uninitialized bit on all
|
|
extents for all inodes. Note that this can end up exposing uninitialized
|
|
data to userspace, and should only used in very specialized situations.
|
|
|
|
The e2fsck/revoke.c and e2fsck/recovery.c files are now kept idential
|
|
with the fs/jbd2 versions of these files in the kernel.
|
|
|
|
Fix various compiler and Coverity warnings.
|
|
|
|
Update to use gettext 0.19.8. This also removes the built-in "intl"
|
|
directory as this is now considered deprecated by gettext. This means
|
|
that if the system doesn't have gettext installed on the build system,
|
|
we will simply disable NLS support.
|
|
|