btrfs: remove cached space_info in btrfs_statfs()
authorJohannes Thumshirn <jthumshirn@suse.de>
Thu, 24 Oct 2019 15:44:54 +0000 (17:44 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 18 Nov 2019 16:51:45 +0000 (17:51 +0100)
In btrfs_statfs() we cache fs_info::space_info in a local variable only
to use it once in a list_for_each_rcu() statement.

Not only is the local variable unnecessary it even makes the code harder
to follow as it's not clear which list it is iterating.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index 792bb0bc9a0bc1fb7333f8451f15409199a1150b..3f49407cc2aa282afcab95b5e29b30413524a85f 100644 (file)
@@ -2021,7 +2021,6 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)
 {
        struct btrfs_fs_info *fs_info = btrfs_sb(dentry->d_sb);
        struct btrfs_super_block *disk_super = fs_info->super_copy;
-       struct list_head *head = &fs_info->space_info;
        struct btrfs_space_info *found;
        u64 total_used = 0;
        u64 total_free_data = 0;
@@ -2035,7 +2034,7 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)
        int mixed = 0;
 
        rcu_read_lock();
-       list_for_each_entry_rcu(found, head, list) {
+       list_for_each_entry_rcu(found, &fs_info->space_info, list) {
                if (found->flags & BTRFS_BLOCK_GROUP_DATA) {
                        int i;