summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_locking.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-01-11 06:41:59 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2018-01-11 07:02:08 -0500
commit4de98a2712764bceb9e0f67b1ac2f2c7862feb77 (patch)
tree94861af51e19af917d80952dfabeaa7a76901eaa /libbcachefs/btree_locking.h
parentf8cbede6d18e81c804e62fd7d576310b420dcaac (diff)
Update bcachefs sources to 02ae70070a bcachefs: Allocate new btree roots lazily
Diffstat (limited to 'libbcachefs/btree_locking.h')
-rw-r--r--libbcachefs/btree_locking.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libbcachefs/btree_locking.h b/libbcachefs/btree_locking.h
index acfe5b59..ca2992ba 100644
--- a/libbcachefs/btree_locking.h
+++ b/libbcachefs/btree_locking.h
@@ -92,6 +92,7 @@ static inline void btree_node_unlock(struct btree_iter *iter, unsigned level)
int lock_type = btree_node_locked_type(iter, level);
EBUG_ON(!level && iter->flags & BTREE_ITER_UPTODATE);
+ EBUG_ON(level >= BTREE_MAX_DEPTH);
if (lock_type != BTREE_NODE_UNLOCKED)
six_unlock_type(&iter->nodes[level]->lock, lock_type);
@@ -106,6 +107,8 @@ static inline bool btree_node_lock(struct btree *b, struct bpos pos,
struct btree_iter *iter,
enum six_lock_type type)
{
+ EBUG_ON(level >= BTREE_MAX_DEPTH);
+
return likely(six_trylock_type(&b->lock, type)) ||
__bch2_btree_node_lock(b, pos, level, iter, type);
}