From: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> This patch has been added to the 3.12 stable tree. If you have any objections, please let us 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 <wangsl.fnst@xxxxxxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> --- 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.7.4 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html