提交 1daf3540 编写于 作者: D Daniel J Blueman 提交者: Chris Mason

Btrfs: Prevent root_list corruption

I was seeing root_list corruption on unmount during fs resize in 3.4-rc4; add
correct locking to address this.
Signed-off-by: NDaniel J Blueman <daniel@quora.org>
Signed-off-by: NChris Mason <chris.mason@oracle.com>
上级 3e74317a
...@@ -1279,7 +1279,9 @@ static int __update_reloc_root(struct btrfs_root *root, int del) ...@@ -1279,7 +1279,9 @@ static int __update_reloc_root(struct btrfs_root *root, int del)
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, node->bytenr); backref_tree_panic(rb_node, -EEXIST, node->bytenr);
} else { } else {
spin_lock(&root->fs_info->trans_lock);
list_del_init(&root->root_list); list_del_init(&root->root_list);
spin_unlock(&root->fs_info->trans_lock);
kfree(node); kfree(node);
} }
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册