aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent-tree.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-08-27 20:30:46 +0100
committerMark Brown <broonie@kernel.org>2015-08-27 20:30:46 +0100
commit2002e90412df17ef7f714be62ed96a3c80b2f907 (patch)
tree3dd03684f7436320ec64f9c702b5d057a25dca17 /fs/btrfs/extent-tree.c
parent02a9547e9b3f10d73fde66f52fc8b2a375a300cd (diff)
parent3b7ce99748f0d006f9d1aa85709872e7b46787f7 (diff)
downloadkernel_replicant_linux-2002e90412df17ef7f714be62ed96a3c80b2f907.tar.gz
kernel_replicant_linux-2002e90412df17ef7f714be62ed96a3c80b2f907.tar.bz2
kernel_replicant_linux-2002e90412df17ef7f714be62ed96a3c80b2f907.zip
Merge branch 'topic/ics43432' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-gtm601
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)
}
spin_unlock(&fs_info->unused_bgs_lock);
+ mutex_lock(&root->fs_info->delete_unused_bgs_mutex);
+
/* Don't want to race with allocators so take the groups_sem */
down_write(&space_info->groups_sem);
spin_lock(&block_group->lock);
@@ -9983,6 +9985,7 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs_info)
end_trans:
btrfs_end_transaction(trans, root);
next:
+ mutex_unlock(&root->fs_info->delete_unused_bgs_mutex);
btrfs_put_block_group(block_group);
spin_lock(&fs_info->unused_bgs_lock);
}