aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r--fs/btrfs/extent-tree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 38b76cc02f48..1c2bd1723e40 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -9889,6 +9889,8 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info)
9889 } 9889 }
9890 spin_unlock(&fs_info->unused_bgs_lock); 9890 spin_unlock(&fs_info->unused_bgs_lock);
9891 9891
9892 mutex_lock(&root->fs_info->delete_unused_bgs_mutex);
9893
9892 /* Don't want to race with allocators so take the groups_sem */ 9894 /* Don't want to race with allocators so take the groups_sem */
9893 down_write(&space_info->groups_sem); 9895 down_write(&space_info->groups_sem);
9894 spin_lock(&block_group->lock); 9896 spin_lock(&block_group->lock);
@@ -9983,6 +9985,7 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info)
9983end_trans: 9985end_trans:
9984 btrfs_end_transaction(trans, root); 9986 btrfs_end_transaction(trans, root);
9985next: 9987next:
9988 mutex_unlock(&root->fs_info->delete_unused_bgs_mutex);
9986 btrfs_put_block_group(block_group); 9989 btrfs_put_block_group(block_group);
9987 spin_lock(&fs_info->unused_bgs_lock); 9990 spin_lock(&fs_info->unused_bgs_lock);
9988 } 9991 }