From: Zhang Yi Date: Mon, 13 Oct 2025 01:51:21 +0000 (+0800) Subject: ext4: use EXT4_B_TO_LBLK() in mext_check_arguments() X-Git-Tag: v6.19-rc1~161^2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9570b6634243cc7a55307dffd1965a3b8798591;p=thirdparty%2Fkernel%2Flinux.git ext4: use EXT4_B_TO_LBLK() in mext_check_arguments() Switch to using EXT4_B_TO_LBLK() to calculate the EOF position of the origin and donor inodes, instead of using open-coded calculations. Signed-off-by: Zhang Yi Reviewed-by: Jan Kara Message-ID: <20251013015128.499308-6-yi.zhang@huaweicloud.com> Signed-off-by: Theodore Ts'o --- diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c index 0f4b7c89edd39..6175906c71194 100644 --- a/fs/ext4/move_extent.c +++ b/fs/ext4/move_extent.c @@ -461,12 +461,6 @@ mext_check_arguments(struct inode *orig_inode, __u64 donor_start, __u64 *len) { __u64 orig_eof, donor_eof; - unsigned int blkbits = orig_inode->i_blkbits; - unsigned int blocksize = 1 << blkbits; - - orig_eof = (i_size_read(orig_inode) + blocksize - 1) >> blkbits; - donor_eof = (i_size_read(donor_inode) + blocksize - 1) >> blkbits; - if (donor_inode->i_mode & (S_ISUID|S_ISGID)) { ext4_debug("ext4 move extent: suid or sgid is set" @@ -526,6 +520,9 @@ mext_check_arguments(struct inode *orig_inode, orig_inode->i_ino, donor_inode->i_ino); return -EINVAL; } + + orig_eof = EXT4_B_TO_LBLK(orig_inode, i_size_read(orig_inode)); + donor_eof = EXT4_B_TO_LBLK(donor_inode, i_size_read(donor_inode)); if (orig_eof <= orig_start) *len = 0; else if (orig_eof < orig_start + *len - 1)