xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.46.6.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1E2fsprogs 1.46.6 (September 12, 2022)
2=====================================
3
4Updates/Fixes since v1.46.5:
5
6UI and Features
7---------------
8
9Debugfs's ncheck command now allows the inode number to be surrounded by
10angle brackets, to be consistent with other debugfs commands.
11
12Debugfs no longer prints a scary message when debugfs -c (which enables
13"catastrophic mode") is used.  This was intended to allow debugfs to
14operate on very badly corrupted file systems, but it is now sometimes
15used to suppress reading the block and inode bitmaps when they are not
16needed.
17
18Resize2fs will round down the requested new file system size to the
19nearest cluster boundary when resizing bigalloc file systems.
20
21Improve error messages issued by badblocks.
22
23Fuse2fs now supports an offset=<bytes> option which allows operating on
24a file system image which is located starting at the specified offset
25from the beginning of the image.
26
27
28
29Fixes
30-----
31
32Pre-v6.2 Linux kernels had long-standing bug in how the extended
33attribute hash was calculated when there were non-ASCII characters in
34the xattr name, when the hash would be different depending on whether
35the C 'char' type was signed or unsigned.  To address this bug, starting
36with e2fsprogs 1.46.6+ and Linux 6.2+, we will accept either the signed
37or unsigned hash variant, but only set the unsigned hash variant.  Since
38extended attribute names are in practice composed of ASCII characters,
39other than various tests (such as generic/454), most users will
40hopefully not notice this change.
41
42Avoid triggering udev in dumpe2fs and "resize2fs -P" for file systems
43with MMP enabled by opening the device read-only when reading the MMP
44block.
45
46Fix MMP handling so it can notice when another writer has modify the MMP
47block out from under it when stopping a MMP sessions.
48
49Fix tune2fs so it will detect another device stealing the MMP sessions
50while rewriting metadata checksums.
51
52E2fsck will now check to make sure the journal inode does not have the
53encrypt flag set.
54
55Fix a deadlock bug in e2fsck's error handler when there are errors
56trying to write to the file system.
57
58Fix a bug where e2fsck could fail when specifying an undo file and an
59explicit superblock number.
60
61Fix e2image so it won't potentially loop forever for certain invalid
62file systems.
63
64Fix resize2fs to honor the E2FSPROGS_FAKE_TIME environment variable.
65This allows embedded system builders who use resize2fs as part of their
66image build process to create reproducible images.
67
68Fix tune2fs to avoid a crash if the journal replay fails and to make
69sure its exit status is non-zero if there is some failure.
70
71Fix tune2fs, fuse2fs, and debugsfs to update j_tail_sequence when
72replaying the journal.
73
74Add additional bullet-proofing for very badly corrupted file systems.
75Try avoid UBSAN warnings, null pointer derferences, and other memory
76bugs.  (Addresses CVE-2022-1304)
77
78Don't fail when the source directory for mke2fs -d doesn't support
79extended attributese.
80
81Check for and handle malloc() failures when computing the log filename
82in e2fsck and in the libss library.
83
84Fix tune2fs and e2fsck to accept pathames which include '=' characters.
85Previously arguments to tune2fs and e2fsck which included '=' characters
86are presumed to be blkid specifiers such as UUID=xxx or LABEL=yyy.  If a
87specifier is both a valid pathname name and blkid tag name specifier,
88priority is given to a blkid resolved pathname.
89
90Improve tune2fs's error messages.
91
92Fix a bug in tune2fs which could cause it to crash if device goes
93off-line just as it being opened.
94
95Fix the fsck driver so if it is interrupted while running fsck -N it
96doesn't end up kllling all processes on the system.
97
98Fix a crash in badblocks when the user specifies an overly large
99number of blocks tested at a time in read/write or nondestructive
100mode.
101
102Update and clarify's chattr's man page and usage message.  Fix spelling
103typo's in a variety of different man pages and comments.
104
105
106Performance, Internal Implementation, Development Support etc.
107--------------------------------------------------------------
108
109Update to autoconf 2.71.
110
111Update flags used to create shared library on Darwin/MacOS.
112
113Speed up e2fsck's clonning of multiply-claimed blocks so it is
114substantially faster on very large file systems.
115
116Add tests/fuzz directory with fuzzers from oss-fuzz.
117
118Add a Github Actions configuration file so that Github will run CI tests
119on Linux, Windows and MacOS on a push to the e2fsprogs github repo.
120
121Make the mtab parsing in ext2fs_check_mount_point() more careful so it
122won't get confused when a block device shows up in the mnt_name field
123for a virtual file system.
124
125Fix the libss's Makefile to create the man page directory before trying
126to install its man page.
127
128Fix various Coverity and compiler warnings.
129
130Make tests more portable on various different OS's and system
131configurations (e.g., with SELinux enabled, MacOS, and Windows)
132
133Use mallinfo2() instead of mallinfo() where avilable, since mallinfo()
134is deprecated on newer glibc versions.
135
136E2fsck will no longer do a full scan of disconnected directory when
137trying to print the parent directory, which is pointless and can slow
138down e2fsck if there are a large number of disconnected directories.
139
140Debugfs will now print the extended attribute's e_hash field.
141
142Fix the setup-schroot script to work on non-Linux platforms.
143
144Fix ext2fs_compare_generic_bmap() so it correctly compares all of the
145bits in the bitmap, and so that it works correctly when comparing a
146bitarray bitmap with a rbtree-based bitmap.  (Fortunately, none of the
147programs in e2fsprogs uses bitmap comparison functions.)
148
149Fix memory leaks on error paths.
150
151Add support for the configure option --enable-largefile so that
152e2fsprogs can utilize largefile support for the MUSL C library.
153
154Add an note that the dict library code has been modified, as required by
155the Kazlib license.
156
157Synchronized changes from Android's AOSP e2fsprogs tree.
158
159Updated config.guess and config.sub with newer versions from the FSF.
160
161Add Friulian translation.
162
163Update Chinese, Czech, Dutch, French, German, Malay, Polish, Serbian,
164Spanish, Swedish, and Ukrainian translations.
165