summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/backref.h
diff options
context:
space:
mode:
authorJan Schmidt <list.btrfs@jan-o-sch.net>2012-05-17 16:43:03 +0200
committerJan Schmidt <list.btrfs@jan-o-sch.net>2012-05-26 12:17:52 +0200
commit976b1908d97bd8cbd024ba7aafaa3fb637ea8e13 (patch)
tree77d53f8b40ea6a1692fbf93bdc2bbc0daf01e85c /fs/btrfs/backref.h
parentBtrfs: bugfix: ignore the wrong key for indirect tree block backrefs (diff)
downloadlinux-976b1908d97bd8cbd024ba7aafaa3fb637ea8e13.tar.xz
linux-976b1908d97bd8cbd024ba7aafaa3fb637ea8e13.zip
Btrfs: look into the extent during find_all_leafs
Before this patch we called find_all_leafs for a data extent, then called find_all_roots and then looked into the extent to grab the information we were seeking. This was done without holding the leaves locked to avoid deadlocks. However, this can obviouly race with concurrent tree modifications. Instead, we now look into the extent while we're holding the lock during find_all_leafs and store this information together with the leaf list. Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Diffstat (limited to 'fs/btrfs/backref.h')
-rw-r--r--fs/btrfs/backref.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/backref.h b/fs/btrfs/backref.h
index 57ea2e959e4d..94ba1b2e733b 100644
--- a/fs/btrfs/backref.h
+++ b/fs/btrfs/backref.h
@@ -58,7 +58,7 @@ int paths_from_inode(u64 inum, struct inode_fs_paths *ipath);
int btrfs_find_all_roots(struct btrfs_trans_handle *trans,
struct btrfs_fs_info *fs_info, u64 bytenr,
- u64 num_bytes, u64 seq, struct ulist **roots);
+ u64 seq, struct ulist **roots);
struct btrfs_data_container *init_data_container(u32 total_bytes);
struct inode_fs_paths *init_ipath(s32 total_bytes, struct btrfs_root *fs_root,