'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> --- fs/ext4/mballoc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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); if (!page) return -ENOMEM; BUG_ON(page->mapping != inode->i_mapping); -- 2.34.1