summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_locking.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-09-25 16:42:53 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:09:41 -0400
commite9174370d0522b466ea770576230b487941101f8 (patch)
treecc7806524495ea81cf7ffed5d7f9a0d97845f2de /fs/bcachefs/btree_locking.c
parentc36ff038fd3af6092e356cb4ed1c79a041b77b19 (diff)
downloadlwn-e9174370d0522b466ea770576230b487941101f8.tar.gz
lwn-e9174370d0522b466ea770576230b487941101f8.zip
bcachefs: bch2_btree_node_relock_notrace()
Most of the node_relock_fail trace events are generated from bch2_btree_path_verify_level(), when debugcheck_iterators is enabled - but we're not interested in these trace events, they don't indicate that we're in a slowpath. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_locking.c')
-rw-r--r--fs/bcachefs/btree_locking.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_locking.c b/fs/bcachefs/btree_locking.c
index 6793d7dd18d7..19062cea8774 100644
--- a/fs/bcachefs/btree_locking.c
+++ b/fs/bcachefs/btree_locking.c
@@ -401,7 +401,8 @@ static inline bool btree_path_get_locks(struct btree_trans *trans,
}
bool __bch2_btree_node_relock(struct btree_trans *trans,
- struct btree_path *path, unsigned level)
+ struct btree_path *path, unsigned level,
+ bool trace)
{
struct btree *b = btree_path_node(path, level);
int want = __btree_lock_want(path, level);
@@ -416,7 +417,8 @@ bool __bch2_btree_node_relock(struct btree_trans *trans,
return true;
}
fail:
- trace_and_count(trans->c, btree_path_relock_fail, trans, _RET_IP_, path, level);
+ if (trace)
+ trace_and_count(trans->c, btree_path_relock_fail, trans, _RET_IP_, path, level);
return false;
}