summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_key_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/btree_key_cache.c')
-rw-r--r--libbcachefs/btree_key_cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libbcachefs/btree_key_cache.c b/libbcachefs/btree_key_cache.c
index dfaf5e6d..7f47ef33 100644
--- a/libbcachefs/btree_key_cache.c
+++ b/libbcachefs/btree_key_cache.c
@@ -270,7 +270,9 @@ int bch2_btree_iter_traverse_cached(struct btree_iter *iter)
BUG_ON(iter->level);
- if (btree_node_locked(iter, 0)) {
+ iter->l[1].b = NULL;
+
+ if (bch2_btree_node_relock(iter, 0)) {
ck = (void *) iter->l[0].b;
goto fill;
}