diff options
Diffstat (limited to 'libbcachefs/btree_locking.c')
-rw-r--r-- | libbcachefs/btree_locking.c | 12 |
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); |