mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-08 15:04:45 +00:00
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 <kent.overstreet@gmail.com>
This commit is contained in:
parent
068bcaa589
commit
1ae29c1faa
@ -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 @@ static void __bch2_btree_node_iter_fix(struct btree_path *path,
|
||||
*/
|
||||
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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user