ext4: correct the reserved credits for extent conversion
authorZhang Yi <yi.zhang@huawei.com>
Mon, 7 Jul 2025 14:08:10 +0000 (22:08 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 14 Jul 2025 03:41:52 +0000 (23:41 -0400)
commit95ad8ee45cdbc321c135a2db895d48b374ef0f87
tree9b7bfe6dfeed07e7c6f5ee7ea4ba1089eeda54fd
parent6b132759b0fe78e518abafb62190c294100db6d6
ext4: correct the reserved credits for extent conversion

Now, we reserve journal credits for converting extents in only one page
to written state when the I/O operation is complete. This is
insufficient when large folio is enabled.

Fix this by reserving credits for converting up to one extent per block in
the largest 2MB folio, this calculation should only involve extents index
and leaf blocks, so it should not estimate too many credits.

Fixes: 7ac67301e82f ("ext4: enable large folio for regular file")
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Link: https://patch.msgid.link/20250707140814.542883-8-yi.zhang@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c