summaryrefslogtreecommitdiff
path: root/fs/btrfs/transaction.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-07-23 07:06:42 +0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 19:04:05 +0400
commited98b56a6393c5e150fd5095b9eb7fd7d3cfb041 (patch)
tree1e69d882a08d089d083132b2b10fcf385d857620 /fs/btrfs/transaction.c
parentc286ac48ed7aaf53586f575af6053ae2a0f8554a (diff)
downloadlinux-ed98b56a6393c5e150fd5095b9eb7fd7d3cfb041.tar.xz
Btrfs: Take the csum mutex while reading checksums
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/transaction.c')
-rw-r--r--fs/btrfs/transaction.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 38c75a0256cb..0f756e0175c0 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -382,6 +382,9 @@ static noinline int add_dirty_roots(struct btrfs_trans_handle *trans,
memcpy(dirty->root, root, sizeof(*root));
dirty->root->node = root->commit_root;
dirty->latest_root = root;
+ spin_lock_init(&dirty->root->node_lock);
+ mutex_init(&dirty->root->objectid_mutex);
+
root->commit_root = NULL;
root->root_key.offset = root->fs_info->generation;