summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_locking.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-22 20:47:24 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-12-22 20:47:24 -0500
commit0e8cc7b5b3a46ea16f74c161f0fd12966deb4d93 (patch)
treedfef6032de2f7758135d376b10369f28ea328771 /fs/bcachefs/btree_locking.h
parentaaa55da315fcbb0387271d473303f52b5f7f3d45 (diff)
lockdep_debuglockdep_debug
Diffstat (limited to 'fs/bcachefs/btree_locking.h')
-rw-r--r--fs/bcachefs/btree_locking.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_locking.h b/fs/bcachefs/btree_locking.h
index 962fa8f5cf0b..5d9b5f9e3e3b 100644
--- a/fs/bcachefs/btree_locking.h
+++ b/fs/bcachefs/btree_locking.h
@@ -204,7 +204,7 @@ static inline int __btree_node_lock_nopath(struct btree_trans *trans,
{
#ifdef CONFIG_LOCKDEP
if (!trans->locks_held) {
- lock_acquire_exclusive(&trans->dep_map, 0, 0, NULL, ip);
+ lock_map_acquire(&trans->dep_map);
trans->locks_held = true;
}
#endif
@@ -271,6 +271,13 @@ static inline int btree_node_lock(struct btree_trans *trans,
EBUG_ON(level >= BTREE_MAX_DEPTH);
+#ifdef CONFIG_LOCKDEP
+ if (!trans->locks_held) {
+ lock_map_acquire(&trans->dep_map);
+ trans->locks_held = true;
+ }
+#endif
+
if (likely(six_trylock_type(&b->lock, type)) ||
btree_node_lock_increment(trans, b, level, (enum btree_node_locked_type) type) ||
!(ret = btree_node_lock_nopath(trans, b, type, btree_path_ip_allocated(path)))) {