| From | Jiri Slaby <> | Subject | [PATCH 3.12 15/98] Btrfs: skip locking when searching commit root | Date | Mon, 11 Apr 2016 15:22:17 +0200 |
| |
From: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
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 <wangsl.fnst@cn.fujitsu.com> Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> --- 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
|