Re: [PATCH] ext4: delete redundant calculations in ext4_mb_get_buddy_page_lock()

From: Jan Kara
Date: Mon Oct 23 2023 - 07:45:06 EST


On Mon 23-10-23 09:34:16, Gou Hao wrote:
> 'blocks_per_page' is always 1 after 'if (blocks_per_page >= 2)',
> 'pnum' and 'block' is equal in this case.
>
> Signed-off-by: Gou Hao <gouhao@xxxxxxxxxxxxx>
> Signed-off-by: Gou Hao <gouhaojake@xxxxxxx>

No need for two signed-off-by here. Any one from you is enough :)

> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index 454d5612641e..8442f5474b25 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -1456,9 +1456,7 @@ static int ext4_mb_get_buddy_page_lock(struct super_block *sb,
> return 0;
> }
>
> - block++;
> - pnum = block / blocks_per_page;
> - page = find_or_create_page(inode->i_mapping, pnum, gfp);
> + page = find_or_create_page(inode->i_mapping, ++block, gfp);
^^^ perhaps just
"block + 1" here? Maybe also add a comment before this call like:

/* blocks_per_page == 1, hence we need another page for the buddy */

Otherwise the patch looks good!

Honza

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR