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