diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-12 11:06:50 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-12 11:06:50 -0400 |
commit | 3165f53b28b87b3c46c95763bae5e40a29166e2e (patch) | |
tree | 0b9f3262721bf95732c511518d714439347112ee /libbcachefs/btree_iter.c | |
parent | ab392d3c15be2ad7fb008956ec589cba3bb613e6 (diff) |
Update bcachefs sources to 6ee8a33cee bcachefs: Call bch2_btree_update_add_new_node() before dropping write lock
Diffstat (limited to 'libbcachefs/btree_iter.c')
-rw-r--r-- | libbcachefs/btree_iter.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libbcachefs/btree_iter.c b/libbcachefs/btree_iter.c index 63197e4..af65839 100644 --- a/libbcachefs/btree_iter.c +++ b/libbcachefs/btree_iter.c @@ -1540,15 +1540,17 @@ struct btree_path *bch2_path_get(struct btree_trans *trans, inline struct bkey_s_c bch2_btree_path_peek_slot(struct btree_path *path, struct bkey *u) { + struct btree_path_level *l = path_l(path); + struct bkey_packed *_k; struct bkey_s_c k; + if (unlikely(!l->b)) + return bkey_s_c_null; + EBUG_ON(path->uptodate != BTREE_ITER_UPTODATE); EBUG_ON(!btree_node_locked(path, path->level)); if (!path->cached) { - struct btree_path_level *l = path_l(path); - struct bkey_packed *_k; - _k = bch2_btree_node_iter_peek_all(&l->iter, l->b); k = _k ? bkey_disassemble(l->b, _k, u) : bkey_s_c_null; |