• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1E2fsprogs 1.46.0 (January 29, 2021)
2===================================
3
4Updates/Fixes since v1.45.7:
5
6UI and Features
7---------------
8
9E2fsprogs now supports the fast_commit (COMPAT_FAST_COMMIT) feature.
10This feature, first available in Linux version 5.10, adds a fine-grained
11journalling which improves the latency of the fsync(2) system call.  It
12should also improve the performance of ext4 file systems exported via
13NFS.
14
15E2fsprogs now supports the stable_inodes (COMPAT_STABLE_INODES) feature.
16This needed to support fscrypt siphash algorithm, which calculates the
17initial vector (IV) for encryption based on the UUID and the inode
18number.  This means that we can't renumber inodes (for example, when
19shrinking a file system) and the UUID can't be changed without breaking
20the ability to decrypt the encryption.
21
22E2fsprogs now supports file systems which have both file system
23encryption and the casefold feature enabled.  This is used in some
24Android handsets, but has not yet landed upstream yet.
25
26E2fsck now will check file names on file systems with case folding
27enabled to make sure the characters are valid UTF-8 characters.  This is
28done for file systems which enforce strict encodings, and optionally if
29the extended "check_encoding" option is requested.
30
31The fuse2fs program now supports the "-o norecovery" option, which will
32suppress any journal replay that might be necessary, and mounts the file
33system read-only.
34
35E2fsck will now find and fix file system corruptions when the encrypted
36files have a different policy from their containing directory.
37
38The "htree" command in debugfs now displays the metadata checksums for
39hash tree index blocks.
40
41Dumpe2fs will print the error code that Linux kernels newer than v5.6
42will save to indicate the class of error which triggered the ext4_error
43event.
44
45E2fsprogs programs (in particular, fuse2fs) can now update htree
46directories without clearing the htree index.
47
48Mke2fs now sets the s_overhead_cluster field, so that the kernel doesn't
49need to calculate it at mount time.  This speeds up mounting very large
50file systems.
51
52
53Fixes
54-----
55
56E2fsck will properly handle checking for duplicated file names when case
57folding is enabled.
58
59Fix various bugs where a maliciously corrupted file systems could case
60e2fsck and other e2fsprogs programs to crash.
61
62Tune2fs will properly recalculate directory block checksums when
63clearing the dir_index feature.
64
65Fix a bug in e2fsck directory rehashing which could fail with ENOSPC
66because it doesn't take into account the space needed for the metadata
67checksum, and doesn't create a sufficiently deep index tree.
68
69Clarify the e2fsck messages when it resets the directory link count when
70it is set to the overflow value but it is no longer needed.
71
72The filefrag program can now request the kernel to display the extent
73status cache by using "filefrag -E".  (This requires Linux version 5.4
74or newer.)
75
76
77Performance, Internal Implementation, Development Support etc.
78--------------------------------------------------------------
79
80Speed up mke2fs when creating large bigalloc file systems by optimizing
81ext2fs_convert_subcluster_bitmap().
82
83Bitmap blocks are now read using multiple threads (for systems with
84pthread support).  This speeds up dumpe2fs, e2fsck, and debugfs for very
85large file systems.
86
87The dumpe2fs and tune2fs will now avoiding to read the block group
88descriptors when they are not needed, which speeds up these program when
89operating on very large file systems.
90
91Drop use of the sysctl(2) system call, which is deprecated in Linux.
92
93Add support for "configure --enable-developer-features" which enables
94features only meant for developer.  The first such feature is "e2fsck -E
95clear_all_uninit_bits", which clears the uninitialized bit on all
96extents for all inodes.  Note that this can end up exposing uninitialized
97data to userspace, and should only used in very specialized situations.
98
99The e2fsck/revoke.c and e2fsck/recovery.c files are now kept idential
100with the fs/jbd2 versions of these files in the kernel.
101
102Fix various compiler and Coverity warnings.
103
104Update to use gettext 0.19.8.  This also removes the built-in "intl"
105directory as this is now considered deprecated by gettext.  This means
106that if the system doesn't have gettext installed on the build system,
107we will simply disable NLS support.
108
109