1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.45.1 (May 12, 2019) 2*6a54128fSAndroid Build Coastguard Worker=============================== 3*6a54128fSAndroid Build Coastguard Worker 4*6a54128fSAndroid Build Coastguard WorkerUpdates/Fixes since v1.45.0: 5*6a54128fSAndroid Build Coastguard Worker 6*6a54128fSAndroid Build Coastguard WorkerUI and Features 7*6a54128fSAndroid Build Coastguard Worker--------------- 8*6a54128fSAndroid Build Coastguard Worker 9*6a54128fSAndroid Build Coastguard WorkerTeach the e2scrub and e2scub_all commands the -n option, which prints 10*6a54128fSAndroid Build Coastguard Workerwhat these commands would do. 11*6a54128fSAndroid Build Coastguard Worker 12*6a54128fSAndroid Build Coastguard WorkerFinalize the casefold support so it is synchronized with what we 13*6a54128fSAndroid Build Coastguard Workeractually shipped in the kernel. This includes updating to Unicode 12.1, 14*6a54128fSAndroid Build Coastguard Workerdropping ASCII casefolding support, and switching from NFKD to NFD. The 15*6a54128fSAndroid Build Coastguard Workerthe ext4 feature name also changed from fname_encoding to casefold. 16*6a54128fSAndroid Build Coastguard WorkerAdd support for casefold to dumpe2fs and debugfs. 17*6a54128fSAndroid Build Coastguard Worker 18*6a54128fSAndroid Build Coastguard WorkerDebugfs now prints non-printable characters using C-style hex escape 19*6a54128fSAndroid Build Coastguard Workersequences (e.g., "\xc1" instead of M-A). The old scheme printed 20*6a54128fSAndroid Build Coastguard Workerfilenames in an ambiguous way, which complicated using debugfs for ext4 21*6a54128fSAndroid Build Coastguard Workerencryption regression tests. 22*6a54128fSAndroid Build Coastguard Worker 23*6a54128fSAndroid Build Coastguard WorkerE2fsck now checks to make sure that all unused bits in the block 24*6a54128fSAndroid Build Coastguard Workerallocation bitmaps are set; if there are some unset bits in the block 25*6a54128fSAndroid Build Coastguard Workerbitmaps for file systems where the blocks_per_group is less than 26*6a54128fSAndroid Build Coastguard Worker8*blocksize (not the default), this can confuse the kernel's multi-block 27*6a54128fSAndroid Build Coastguard Workerallocator and return a bogus free extent. E2fsprogs guarantees this 28*6a54128fSAndroid Build Coastguard Workerwhen it writes out the bitmap blocks, but it's possible that file system 29*6a54128fSAndroid Build Coastguard Workerblocks could have gotten corrupted since the last time e2fsprogs wrote 30*6a54128fSAndroid Build Coastguard Workerout the bitmap blocks. 31*6a54128fSAndroid Build Coastguard Worker 32*6a54128fSAndroid Build Coastguard WorkerE2fsck now has support write out a problem code log which can provide 33*6a54128fSAndroid Build Coastguard Workermore debugging and monitoring information. This can be configured using 34*6a54128fSAndroid Build Coastguard Worker/etc/e2fsck.conf. 35*6a54128fSAndroid Build Coastguard Worker 36*6a54128fSAndroid Build Coastguard Worker 37*6a54128fSAndroid Build Coastguard WorkerFixes 38*6a54128fSAndroid Build Coastguard Worker----- 39*6a54128fSAndroid Build Coastguard Worker 40*6a54128fSAndroid Build Coastguard WorkerTeach e2scrub and e2scrub to give more intelligible error messages when 41*6a54128fSAndroid Build Coastguard Workerthe lvm2 and util-linux packages are not installed, or if the commands 42*6a54128fSAndroid Build Coastguard Workerare not run as root. 43*6a54128fSAndroid Build Coastguard Worker 44*6a54128fSAndroid Build Coastguard WorkerTeach e2scrub_all to skip trying to run e2scrub on a logical volume if 45*6a54128fSAndroid Build Coastguard Workerits volume group did not have enough space to create a snapshot. 46*6a54128fSAndroid Build Coastguard Worker(Addresses Debian Bug: #924301) 47*6a54128fSAndroid Build Coastguard Worker 48*6a54128fSAndroid Build Coastguard WorkerE2scrub will tag its snapshots with UDISK_IGNORE so they do not show up 49*6a54128fSAndroid Build Coastguard Workerin GUI's. (Addresses Debian Bug: #926112) 50*6a54128fSAndroid Build Coastguard Worker 51*6a54128fSAndroid Build Coastguard WorkerMark the e2scrub service files to indicate that CAP_SYS_ADMIN and 52*6a54128fSAndroid Build Coastguard WorkerCAP_SYS_RAWIO are required. This avoids errors when e2scrub is run an 53*6a54128fSAndroid Build Coastguard Workercontainer where root does not have these capabilities. (Addresses 54*6a54128fSAndroid Build Coastguard WorkerDebian Bug: #926138) 55*6a54128fSAndroid Build Coastguard Worker 56*6a54128fSAndroid Build Coastguard WorkerFix mke2fs's check for absurdly large disks. Previously check was 2^10 57*6a54128fSAndroid Build Coastguard Workertoo small, so mke2fs would fail when trying to format a 900TB file 58*6a54128fSAndroid Build Coastguard Workersystem. 59*6a54128fSAndroid Build Coastguard Worker 60*6a54128fSAndroid Build Coastguard WorkerFixed debugfs so it correctly prints ea_in_inode xattr values. 61*6a54128fSAndroid Build Coastguard Worker 62*6a54128fSAndroid Build Coastguard WorkerFixed various casefold bugs. 63*6a54128fSAndroid Build Coastguard Worker 64*6a54128fSAndroid Build Coastguard Worker 65*6a54128fSAndroid Build Coastguard WorkerPerformance, Internal Implementation, Development Support etc. 66*6a54128fSAndroid Build Coastguard Worker-------------------------------------------------------------- 67*6a54128fSAndroid Build Coastguard Worker 68*6a54128fSAndroid Build Coastguard WorkerSynchronized changes from Android's AOSP e2fsprogs tree. 69*6a54128fSAndroid Build Coastguard Worker 70*6a54128fSAndroid Build Coastguard WorkerFix autoheader warnings caused by a missing template in AC_CHECK_LIB. 71*6a54128fSAndroid Build Coastguard Worker 72*6a54128fSAndroid Build Coastguard WorkerFix the the "make install-strip" command. 73*6a54128fSAndroid Build Coastguard Worker 74*6a54128fSAndroid Build Coastguard WorkerDropped utf8_* and nls_* symbols from the libext2fs shared library, to 75*6a54128fSAndroid Build Coastguard Workeravoid namespace contamination. 76*6a54128fSAndroid Build Coastguard Worker 77*6a54128fSAndroid Build Coastguard WorkerFix the f_valid_ea_in_inode test so actually tests the ea_in_inode 78*6a54128fSAndroid Build Coastguard Workerfeature. 79*6a54128fSAndroid Build Coastguard Worker 80*6a54128fSAndroid Build Coastguard WorkerFixed various debian packaging issues. (Addresses Debian Bug: #924275) 81*6a54128fSAndroid Build Coastguard Worker 82