]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
btrfs: Remove redundant checks from btrfs_alloc_data_chunk_ondemand
authorNikolay Borisov <nborisov@suse.com>
Tue, 11 Jul 2017 10:47:50 +0000 (13:47 +0300)
committerDavid Sterba <dsterba@suse.com>
Wed, 16 Aug 2017 14:12:02 +0000 (16:12 +0200)
Many commits ago the data space_info in alloc_data_chunk_ondemand used to be
acquired from the inode. At that point commit
33b4d47f5e24 ("Btrfs: deal with NULL space info") got introduced to deal with
spurios cases where the space info could be null, following a rebalance.
Nowadays, however, the space info is referenced directly from the btrfs_fs_info
struct which is initialised at filesystem mount time. This makes the null
checks redundant, so remove them.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index 288b38ae8791179bdacd3c62415b9d5d9448c5bd..4fe93c43630201985c10e0b7f00292d20b41db5f 100644 (file)
@@ -4199,9 +4199,9 @@ static u64 btrfs_space_info_used(struct btrfs_space_info *s_info,
 
 int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes)
 {
-       struct btrfs_space_info *data_sinfo;
        struct btrfs_root *root = inode->root;
        struct btrfs_fs_info *fs_info = root->fs_info;
+       struct btrfs_space_info *data_sinfo = fs_info->data_sinfo;
        u64 used;
        int ret = 0;
        int need_commit = 2;
@@ -4215,10 +4215,6 @@ int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes)
                ASSERT(current->journal_info);
        }
 
-       data_sinfo = fs_info->data_sinfo;
-       if (!data_sinfo)
-               goto alloc;
-
 again:
        /* make sure we have enough space to handle the data first */
        spin_lock(&data_sinfo->lock);
@@ -4236,7 +4232,7 @@ again:
 
                        data_sinfo->force_alloc = CHUNK_ALLOC_FORCE;
                        spin_unlock(&data_sinfo->lock);
-alloc:
+
                        alloc_target = btrfs_data_alloc_profile(fs_info);
                        /*
                         * It is ugly that we don't call nolock join
@@ -4264,9 +4260,6 @@ alloc:
                                }
                        }
 
-                       if (!data_sinfo)
-                               data_sinfo = fs_info->data_sinfo;
-
                        goto again;
                }