diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 017281dbb2a71f6a0c51f4f8cc52cf9e651f2fd0..5a105a086acfea61bcb3b326335b8371dda00bfd 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -1279,7 +1279,9 @@ static int __update_reloc_root(struct btrfs_root *root, int del) if (rb_node) backref_tree_panic(rb_node, -EEXIST, node->bytenr); } else { + spin_lock(&root->fs_info->trans_lock); list_del_init(&root->root_list); + spin_unlock(&root->fs_info->trans_lock); kfree(node); } return 0;