linux/fs/ext4
Baokun Li b59fa60114 ext4: align max orphan file size with e2fsprogs limit
commit 7c11c56eb3 upstream.

Kernel commit 0a6ce20c15 ("ext4: verify orphan file size is not too big")
limits the maximum supported orphan file size to 8 << 20.

However, in e2fsprogs, the orphan file size is set to 32–512 filesystem
blocks when creating a filesystem.

With 64k block size, formatting an ext4 fs >32G gives an orphan file bigger
than the kernel allows, so mount prints an error and fails:

    EXT4-fs (vdb): orphan file too big: 8650752
    EXT4-fs (vdb): mount failed

To prevent this issue and allow previously created 64KB filesystems to
mount, we updates the maximum allowed orphan file size in the kernel to
512 filesystem blocks.

Fixes: 0a6ce20c15 ("ext4: verify orphan file size is not too big")
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-ID: <20251120134233.2994147-1-libaokun@huaweicloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-02 12:57:10 +01:00
..
.kunitconfig ext4: add .kunitconfig fragment to enable ext4-specific tests 2021-02-11 23:16:30 -05:00
acl.c ext4: convert to ctime accessor functions 2023-07-24 10:29:54 +02:00
acl.h Revert "ext4: apply umask if ACL support is disabled" 2024-05-02 18:25:39 -04:00
balloc.c ext4: convert sbi->s_mb_free_pending to atomic_t 2025-07-25 09:14:17 -04:00
bitmap.c ext4: remove sbi argument from ext4_chksum() 2025-05-20 10:31:12 -04:00
block_validity.c ext4: make block validity check resistent to sb bh corruption 2025-04-12 22:01:37 -04:00
crypto.c ext4: move crypt info pointer to fs-specific part of inode 2025-08-21 13:58:07 +02:00
dir.c ext4: fix OOB read when checking dotdot dir 2025-03-21 01:33:11 -04:00
ext4.h New ext4 features: 2025-10-03 13:47:10 -07:00
ext4_extents.h ext4: remove unused EXT_STATS macro from ext4_extents.h 2025-07-12 19:01:38 -04:00
ext4_jbd2.c ext4: wait for ongoing I/O to complete before freeing blocks 2025-10-10 13:34:35 -04:00
ext4_jbd2.h ext4/jbd2: convert jbd2_journal_blocks_per_page() to support large folio 2025-05-20 10:31:12 -04:00
extents.c Major ext4 changes for 6.17: 2025-07-31 10:02:44 -07:00
extents_status.c ext4: clairfy the rules for modifying extents 2025-05-15 13:14:56 -04:00
extents_status.h ext4: don't pass full mapping flags to ext4_es_insert_extent() 2024-11-12 23:54:14 -05:00
fast_commit.c ext4: increase IO priority of fastcommit 2025-09-25 14:56:31 -04:00
fast_commit.h ext4 fast_commit: make use of name_snapshot primitives 2025-01-27 19:24:43 -05:00
file.c ext4: fix checks for orphan inodes 2025-09-26 08:36:08 -04:00
fsmap.c ext4: correctly handle queries for metadata mappings 2025-09-25 23:04:48 -04:00
fsmap.h ext4: fsmap: fix the block/inode bitmap comment 2021-06-24 09:48:29 -04:00
fsync.c ext4: add ext4_emergency_state() helper function 2025-03-13 10:16:34 -04:00
hash.c ext4: hash: simplify kzalloc(n * 1, ...) to kzalloc(n, ...) 2025-03-21 01:10:10 -04:00
ialloc.c ext4: clear i_state_flags when alloc inode 2026-01-02 12:57:10 +01:00
indirect.c ext4: add ext4_sb_bread_nofail() helper function for ext4_free_branches() 2025-09-25 14:36:54 -04:00
inline.c ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock() 2025-12-12 18:42:45 +01:00
inode-test.c ext4: add missing MODULE_DESCRIPTION() 2024-07-05 16:07:24 -04:00
inode.c ext4: clear i_state_flags when alloc inode 2026-01-02 12:57:10 +01:00
ioctl.c ext4: check if mount_opts is NUL-terminated in ext4_ioctl_set_tune_sb() 2026-01-02 12:57:10 +01:00
Kconfig ext4: remove obsolete EXT3 config options 2025-09-25 14:47:05 -04:00
Makefile ext4: move ext4 crypto code to its own file crypto.c 2022-05-21 22:24:24 -04:00
mballoc-test.c ext4: convert free groups order lists to xarrays 2025-07-25 09:14:17 -04:00
mballoc.c ext4: fix incorrect group number assertion in mb_check_buddy 2026-01-02 12:57:10 +01:00
mballoc.h ext4: refactor choose group to scan group 2025-07-25 09:14:17 -04:00
migrate.c ext4: fix i_data_sem unlock order in ext4_ind_migrate() 2024-09-03 22:14:17 -04:00
mmp.c ext4: replace min/max nesting with clamp() 2025-09-25 14:35:21 -04:00
move_extent.c ext4: correct the checking of quota files before moving extents 2025-12-18 14:02:52 +01:00
namei.c ext4: fix unused variable warning in ext4_init_new_dir 2025-08-12 23:15:05 -04:00
orphan.c ext4: align max orphan file size with e2fsprogs limit 2026-01-02 12:57:10 +01:00
page-io.c ext4: remove redundant __GFP_NOWARN 2025-08-12 23:15:05 -04:00
readpage.c ext4: make ext4_mpage_readpages() support large folios 2025-05-20 10:31:11 -04:00
resize.c ext4: remove sb argument from ext4_superblock_csum() 2025-05-20 10:31:12 -04:00
super.c ext4: clear i_state_flags when alloc inode 2026-01-02 12:57:10 +01:00
symlink.c ext4_get_link(): fix breakage in RCU mode 2024-02-25 02:10:32 -05:00
sysfs.c ext4: Make sb update interval tunable 2025-03-21 01:12:33 -04:00
truncate.h ext4: Convert to use mapping->invalidate_lock 2021-07-13 14:29:00 +02:00
verity.c ext4: move verity info pointer to fs-specific part of inode 2025-08-21 13:58:08 +02:00
xattr.c ext4: xattr: fix null pointer deref in ext4_raw_inode() 2026-01-02 12:57:10 +01:00
xattr.h ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all() 2025-03-18 00:15:19 -04:00
xattr_hurd.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_security.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_trusted.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
xattr_user.c fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00