From: Wang Shilong <[email protected]> 3.12-stable review patch. If anyone has any objections, please let me know.
=============== commit e84752d434b5cca0869e906e7b94d0531b25c6d3 upstream. We won't change commit root, skip locking dance with commit root when walking backrefs, this can speed up btrfs send operations. Signed-off-by: Wang Shilong <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Jiri Slaby <[email protected]> --- fs/btrfs/backref.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 5859a05f3a76..b7f40f2630f4 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -842,8 +842,10 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, path = btrfs_alloc_path(); if (!path) return -ENOMEM; - if (!trans) + if (!trans) { path->search_commit_root = 1; + path->skip_locking = 1; + } /* * grab both a lock on the path and a lock on the delayed ref head. -- 2.8.1

