ext4: delete redundant calculations in ext4_mb_get_buddy_page_lock()
authorGou Hao <gouhao@uniontech.com>
Tue, 24 Oct 2023 03:52:15 +0000 (11:52 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 5 Jan 2024 04:26:21 +0000 (23:26 -0500)
'blocks_per_page' is always 1 after 'if (blocks_per_page >= 2)',
'pnum' and 'block' are equal in this case.

Signed-off-by: Gou Hao <gouhao@uniontech.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231024035215.29474-1-gouhao@uniontech.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/mballoc.c

index d72b5e3c92ec4088b878246f431059906d8cf931..847dc0fb15735a1500d2cec0fc370281cd0dc258 100644 (file)
@@ -1456,9 +1456,8 @@ 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);
+       /* blocks_per_page == 1, hence we need another page for the buddy */
+       page = find_or_create_page(inode->i_mapping, block + 1, gfp);
        if (!page)
                return -ENOMEM;
        BUG_ON(page->mapping != inode->i_mapping);