btrfs: remove the inode cache check at btrfs_is_free_space_inode()
authorFilipe Manana <fdmanana@suse.com>
Wed, 6 Jul 2022 10:14:23 +0000 (11:14 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:39 +0000 (17:45 +0200)
The inode cache feature was removed in kernel 5.11, and we no longer have
any code that reads from or writes to inode caches. We may still mount a
filesystem that has inode caches, but they are ignored.

Remove the check for an inode cache from btrfs_is_free_space_inode(),
since we no longer have code to trigger reads from an inode cache or
writes to an inode cache. The check at send.c is still needed, because
in case we find a filesystem with an inode cache, we must ignore it.
Also leave the checks at tree-checker.c, as they are sanity checks.

This eliminates a dead branch and reduces the amount of code since it's
in an inline function.

Before:

$ size fs/btrfs/btrfs.ko
   text    data     bss     dec     hex filename
1620662  189240   29032 1838934  1c0f56 fs/btrfs/btrfs.ko

After:

$ size fs/btrfs/btrfs.ko
   text    data     bss     dec     hex filename
1620502  189240   29032 1838774  1c0eb6 fs/btrfs/btrfs.ko

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/btrfs_inode.h

index 33811e8..b467264 100644 (file)
@@ -305,8 +305,7 @@ static inline bool btrfs_is_free_space_inode(struct btrfs_inode *inode)
        if (root == root->fs_info->tree_root &&
            btrfs_ino(inode) != BTRFS_BTREE_INODE_OBJECTID)
                return true;
-       if (inode->location.objectid == BTRFS_FREE_INO_OBJECTID)
-               return true;
+
        return false;
 }