mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
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 <yi.zhang@huawei.com> Reviewed-by: Jan Kara <jack@suse.cz> Message-ID: <20251013015128.499308-6-yi.zhang@huaweicloud.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user