summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_locking.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/btree_locking.c')
-rw-r--r--libbcachefs/btree_locking.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libbcachefs/btree_locking.c b/libbcachefs/btree_locking.c
index dce2dc0c..d3326e98 100644
--- a/libbcachefs/btree_locking.c
+++ b/libbcachefs/btree_locking.c
@@ -359,8 +359,18 @@ static inline bool btree_path_get_locks(struct btree_trans *trans,
if (!(upgrade
? bch2_btree_node_upgrade(trans, path, l)
- : bch2_btree_node_relock(trans, path, l)))
+ : bch2_btree_node_relock(trans, path, l))) {
+ (upgrade
+ ? trace_node_upgrade_fail
+ : trace_node_relock_fail)(0, _RET_IP_,
+ path->btree_id, &path->pos,
+ l, path->l[l].lock_seq,
+ path->l[l].b,
+ is_btree_node(path, l)
+ ? path->l[l].b->c.lock.state.seq
+ : 0);
fail_idx = l;
+ }
l++;
} while (l < path->locks_want);