]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ext4: do not unnecessarily allocate buffer in recently_deleted()
authorJan Kara <jack@suse.cz>
Thu, 24 Aug 2017 15:52:21 +0000 (11:52 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 24 Aug 2017 15:52:21 +0000 (11:52 -0400)
In recently_deleted() function we want to check whether inode is still
cached in buffer cache. Use sb_find_get_block() for that instead of
sb_getblk() to avoid unnecessary allocation of bdev page and buffer
heads.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ialloc.c

index 507bfb3344d41d1cc857022e61eb7c09ab184231..0d03e73dccaf1815e59020c31206eafd3c1d6bbb 100644 (file)
@@ -707,9 +707,9 @@ static int recently_deleted(struct super_block *sb, ext4_group_t group, int ino)
        if (unlikely(!gdp))
                return 0;
 
-       bh = sb_getblk(sb, ext4_inode_table(sb, gdp) +
+       bh = sb_find_get_block(sb, ext4_inode_table(sb, gdp) +
                       (ino / inodes_per_block));
-       if (unlikely(!bh) || !buffer_uptodate(bh))
+       if (!bh || !buffer_uptodate(bh))
                /*
                 * If the block is not in the buffer cache, then it
                 * must have been written out.