]> Gentwo Git Trees - linux/.git/commitdiff
ext4: support large block size in __ext4_block_zero_page_range()
authorZhihao Cheng <chengzhihao1@huawei.com>
Fri, 21 Nov 2025 09:06:50 +0000 (17:06 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 29 Nov 2025 03:35:27 +0000 (22:35 -0500)
Use the EXT4_PG_TO_LBLK() macro to convert folio indexes to blocks to avoid
negative left shifts after supporting blocksize greater than PAGE_SIZE.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
Message-ID: <20251121090654.631996-21-libaokun@huaweicloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c

index 8cf33a58d1a6c82e806f4e85b49c9bacb9974754..3b6f66463add995d93cd5c414a0bff67d392246a 100644 (file)
@@ -4076,7 +4076,7 @@ static int __ext4_block_zero_page_range(handle_t *handle,
 
        blocksize = inode->i_sb->s_blocksize;
 
-       iblock = folio->index << (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
+       iblock = EXT4_PG_TO_LBLK(inode, folio->index);
 
        bh = folio_buffers(folio);
        if (!bh)