]> git.ipfire.org Git - ipfire-2.x.git/commit
e2fsprogs: Update to version 1.47.3
authorAdolf Belka <adolf.belka@ipfire.org>
Mon, 21 Jul 2025 21:25:56 +0000 (23:25 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Jul 2025 09:17:12 +0000 (09:17 +0000)
commitd1ddf8ca8d50309d091602cee7091404cb72e85e
tree129e6b22bff3aec3bc94f5c3ec7bb650a0a7a026
parentcbc7373da9ab64fb4736b7efff5ea0db5c77dd36
e2fsprogs: Update to version 1.47.3

- Update from version 1.47.2 to 1.47.3
- Update of rootfile not required
- Changelog
    1.47.3
      UI and Features
Mke2fs -d can now copy the fs-verity metadata and chattr flags into
 newly created file system.
Add fuse2fs's support for the XATTR_CREATE and XATTR_REPLACE flags in
 setxattr.
Add support for FALLOC_FL_ZERO_RANGE in fuse2fs.
Add support to fuse2fs for the setting file attributes via fsxattr,
 including support for nanosecond timestamps.
Add support to fuse2fs to set newer chattr flags.
Add a lockfile command-line option to fuse2fs which is useful for
 scripts that need to know when fuse2fs is done modifying the file system
 after it is unmounted.
Add mke2fs.conf knobs to control whether the RAID stripe or stride sizes
 from the storage device information depending on whether the storage
 device is a rotational or non-rotational device.  By default don't set
 the RAID stripe size for non-rotational devices.
E2scrub no longer runs fstrim by default, since util-linux ships with a
 fstrim.timer systemd file which will run fstrim on all mounted file
 systems.  This can be re-enabled in /etc/e2scrub.conf if for some reason
 it is desireable to run the fstrim out of e2scrub.
      Fixes
Fix "e2fsck -E unshare_blocks" to clear the shared_blocks flag when
 there are no shared blocks to clear
Fix "e2fsck -n" to not abort when it trips across an EA inode which
 is not referenced by any inodes in the file system.
Fix debugfs's dump and rdump commands to avoid looping forever when
 it runs across an I/O error or corupt filesystem metadata.
Fix debugfs's dirsearch command on big-endian systems.
Fix many fuse2fs bugs found by running fstests, including fixing
 support for O_APPEND, O_TRUNC, POSIX ACLs, and the immutable flag.  Also
 fix fuse2fs to correctly remove ea_inodes if the last reference to an
 ea_inode is removed when an inode is removed, and to update timestmps
 correctly after the mkdir(2) and symlink(2) operations.
Fix fuse2fs's error code handling for fallocate(), truncate() and
 removexattr().
Fix an integer overflow bug which resulted in fuse2fs failing to delete
 very large files.  (Addresses Debian Bug: #1106241)
Fix a (hard to reproduce) extent tree corruption bug which could be
 triggered by resize2fs or fuse2fs if the extent tree was especially
 complex
Improve fuse2fs's handling of corrupted file systems.
Fuse2fs doesn't support renameat2()'s RENAME_EXCHANGE or RENAME_WHITEOUT
 flags, so return ENOSYS instead of incorrectly handling the renameat2()
 request.
Fuse2fs will avoid clearning the setgid bit in op_chmod if the file's
 group ownership is one of the calling process's group list (instead of
 just the primary group id).
Change fuse2fs to align with kernel's behaviors by (a) clearing
 post-EOF on truncation, (b) validating FITRIM's parameters consistently
 with how the kernel does things, (c) how the "ro" mount option will
 replay the journal, (d) only supporting the xattr namespaces supported
 by the kernel, (e) clamping timestamps to the minimum and maximum value
 supported by the on-disk format, and (e) optionally delegating access
 control decisions to the kernel.
Prevent fuse2fs from mounting file systems which have features that
 fuse2fs can't deal with.
Fix error path handling in fuse2fs when servicing an op_create request.
Fix spurious warnings from fuse2fs while servicing an op_fallocate request.
Fix fuse2fs to correctly translate system errors from libext2fs to the
 negative error codes expected by the FUSE kernel driver.  There aren't
 many; but in some cases, when the file system is corrupted, libext2fs
 will return EOVERFLOW and we sent a nonsense error to the kernel.
Optimize ext2fs_extent_set_bmap() to avoid fragmenting the extent tree.
 This fixes a problem where resize2fs is trying to relocate all of the
 blocks in a file leading to the extent tree doubling in size, and
 potentially leading to a corrupted extent tree.
Fix a bounding error in ext2fs_fallocate() which could cause it to
 allocate far more blocks than was requested.  This caused a failure in
 fuse2fs while formatting a loopback file system stored in a large sparse
 file.
Fix potential livelock bug in the unix_io manager.
Fix invaidation support in the unix_io manager.
Various man page cleanups.
     Performance, Internal Implementation, Development Support etc.
Improve performance in e2fsck when replaying a journal with a large
 number of revoke blocks (which can be the case on Lustre servers).
Improve tune2fs's performance by avoiding scanning the file system to
 update quota inodes in cases when it's not necessary.
Improve fuse2fs's performance by returning inode and type information in
 readdir() and to use the actal inode numbers instead of asking fuse
 to make up inode numbers.
Fix various Coverity and compiler warnings.
Add two new flags for ext2fs_link().  The EXT2FS_LINK_APPEND flag
 causes ext2fs_link() to only search the last block in the directory,
 which imrpoves the scalability of creating a large number of files in a
 directory.  The EXT2FS_LINK_EXPAND() causes ext2fs_link() to
 automatically expand the directory if there is no free space found to
 create the requested directory entry.
Add a new function, ext2fs_mkdir2() which allows the flags parameter
 to be passed to ext2fs_link(), allows the chattr flags to be set in the
 newly created directory, and return the inode number for the newly
 created directory.
Add new functions ext2fs_log2_u{32,64}() and ext2fs_log10_u{32,64}() so
 we don't have multiple copies of these functions in various e2fsprogs
 programs.
Improve debugging and logging in fuse2fs.
General code cleaups in fuse2fs.
Improve fuse2fs's performance by allowing a larger cache in unix_io and
 using O_DIRECT to read and write the block device.
Fixed Windows portability problems intrduced in 1.47.2.
Fix various FreeBSD compile warnings and test issues.
Fix MacOS build issues when compiling with libarchive and FUSE support.
To avoid warning messages on newer versions of GNU grep, use "grep -E"
 instead of "egrep" when possible.
Fix test failure for m_rootdir_acl when the build tree is hosted on
 btrfs.  (This was caused by btrfs returning extended attributes relating
 to Posix ACL's in a different order than ext4 or xfs.)
Fixed potention races in the Makefiles which could show up when using
 "make -j install".
Fixed build failures when libarchive is not available.
Fixed various Debian packaging issues.  (Addresses Debian Bugs:
 #1106799, #1107595)
Update Czech, Chinese, Dutch, French, Malay, Portuguese, Polish,
 Romainian, Serbian, Spanish, Swedish, and Ukrainian translations.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/e2fsprogs