Эх сурвалжийг харах

Btrfs: skip locking when searching commit root

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>
Wang Shilong 11 жил өмнө
parent
commit
e84752d434

+ 3 - 1
fs/btrfs/backref.c

@@ -873,8 +873,10 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans,
 	path = btrfs_alloc_path();
 	path = btrfs_alloc_path();
 	if (!path)
 	if (!path)
 		return -ENOMEM;
 		return -ENOMEM;
-	if (!trans)
+	if (!trans) {
 		path->search_commit_root = 1;
 		path->search_commit_root = 1;
+		path->skip_locking = 1;
+	}
 
 
 	/*
 	/*
 	 * grab both a lock on the path and a lock on the delayed ref head.
 	 * grab both a lock on the path and a lock on the delayed ref head.