From: Kent Overstreet Date: Sun, 5 Sep 2021 01:19:48 +0000 (-0400) Subject: bcachefs: Extent btree iterators are no longer special X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1ae29c1faaa3af9e8c490206634f2648016634cd;p=linux.git bcachefs: Extent btree iterators are no longer special Since iter->real_pos was introduced, we no longer have to deal with extent btree iterators that have skipped past deleted keys - this is a real performance improvement on btree updates. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index edb4084f7b909..16384543149e3 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -601,13 +601,9 @@ static void bch2_btree_path_verify_level(struct btree_trans *trans, bch2_btree_node_iter_verify(&l->iter, l->b); /* - * For interior nodes, the iterator will have skipped past - * deleted keys: - * - * For extents, the iterator may have skipped past deleted keys (but not - * whiteouts) + * For interior nodes, the iterator will have skipped past deleted keys: */ - p = level || btree_node_type_is_extents(path->btree_id) + p = level ? bch2_btree_node_iter_prev(&tmp, l->b) : bch2_btree_node_iter_prev_all(&tmp, l->b); k = bch2_btree_node_iter_peek_all(&l->iter, l->b); @@ -829,8 +825,7 @@ fixup_done: */ if (!bch2_btree_node_iter_end(node_iter) && iter_current_key_modified && - (b->c.level || - btree_node_type_is_extents(path->btree_id))) { + b->c.level) { struct bset_tree *t; struct bkey_packed *k, *k2, *p;