summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-08-30 17:31:09 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-05-30 18:16:41 -0400
commit3a81cb220e645f5ec47b79a787ca79847cd58a4e (patch)
treeb2b17825c3ae6733d8c60c712c6e12f1842f11f7
parent3ab958f81860f7cb92db48fa414e6e68f3211a74 (diff)
bcachefs: Kill BTREE_ITER_NEED_PEEK
This was used for an optimization that hasn't existing in quite awhile - iter->uptodate will probably be going away as well. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/btree_iter.c15
-rw-r--r--fs/bcachefs/btree_iter.h2
-rw-r--r--fs/bcachefs/btree_key_cache.c2
-rw-r--r--fs/bcachefs/btree_types.h5
4 files changed, 6 insertions, 18 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c
index 834ebc95266a..73a30ef600ed 100644
--- a/fs/bcachefs/btree_iter.c
+++ b/fs/bcachefs/btree_iter.c
@@ -239,7 +239,7 @@ static inline bool btree_iter_get_locks(struct btree_trans *trans,
}
if (iter->uptodate == BTREE_ITER_NEED_RELOCK)
- iter->uptodate = BTREE_ITER_NEED_PEEK;
+ iter->uptodate = BTREE_ITER_UPTODATE;
bch2_trans_verify_locks(trans);
@@ -756,8 +756,6 @@ static void __bch2_btree_iter_fix_key_modified(struct btree_iter *iter,
if (bkey_iter_pos_cmp(l->b, where, &iter->real_pos) < 0)
bch2_btree_node_iter_advance(&l->iter, l->b);
-
- btree_iter_set_dirty(iter, BTREE_ITER_NEED_PEEK);
}
void bch2_btree_iter_fix_key_modified(struct btree_trans *trans,
@@ -863,11 +861,6 @@ fixup_done:
b, t, k2);
}
}
-
- if (!b->c.level &&
- node_iter == &iter->l[0].iter &&
- iter_current_key_modified)
- btree_iter_set_dirty(iter, BTREE_ITER_NEED_PEEK);
}
void bch2_btree_node_iter_fix(struct btree_trans *trans,
@@ -1039,8 +1032,6 @@ static inline void __btree_iter_level_init(struct btree_iter *iter,
*/
if (level)
bch2_btree_node_iter_peek(&l->iter, l->b);
-
- btree_iter_set_dirty(iter, BTREE_ITER_NEED_PEEK);
}
static inline void btree_iter_level_init(struct btree_trans *trans,
@@ -1477,7 +1468,7 @@ static int btree_iter_traverse_one(struct btree_trans *trans,
}
}
- iter->uptodate = BTREE_ITER_NEED_PEEK;
+ iter->uptodate = BTREE_ITER_UPTODATE;
out:
BUG_ON((ret == -EINTR) != !!trans->restarted);
trace_iter_traverse(trans->ip, trace_ip,
@@ -1666,8 +1657,6 @@ static void btree_iter_set_search_pos(struct btree_iter *iter, struct bpos new_p
out:
if (l != iter->level)
btree_iter_set_dirty(iter, BTREE_ITER_NEED_TRAVERSE);
- else
- btree_iter_set_dirty(iter, BTREE_ITER_NEED_PEEK);
bch2_btree_iter_verify(iter);
#ifdef CONFIG_BCACHEFS_DEBUG
diff --git a/fs/bcachefs/btree_iter.h b/fs/bcachefs/btree_iter.h
index 55b20aed7b59..e4bfd9e75784 100644
--- a/fs/bcachefs/btree_iter.h
+++ b/fs/bcachefs/btree_iter.h
@@ -159,7 +159,7 @@ static inline bool bch2_btree_iter_upgrade(struct btree_trans *trans,
return iter->locks_want < new_locks_want
? __bch2_btree_iter_upgrade(trans, iter, new_locks_want)
- : iter->uptodate <= BTREE_ITER_NEED_PEEK;
+ : iter->uptodate == BTREE_ITER_UPTODATE;
}
void __bch2_btree_iter_downgrade(struct btree_iter *, unsigned);
diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c
index 568c1f2704c2..924b67e79805 100644
--- a/fs/bcachefs/btree_key_cache.c
+++ b/fs/bcachefs/btree_key_cache.c
@@ -339,7 +339,7 @@ fill:
if (!test_bit(BKEY_CACHED_ACCESSED, &ck->flags))
set_bit(BKEY_CACHED_ACCESSED, &ck->flags);
- iter->uptodate = BTREE_ITER_NEED_PEEK;
+ iter->uptodate = BTREE_ITER_UPTODATE;
if ((iter->flags & BTREE_ITER_INTENT) &&
!bch2_btree_iter_upgrade(trans, iter, 1)) {
diff --git a/fs/bcachefs/btree_types.h b/fs/bcachefs/btree_types.h
index 04ed6ad5be94..e3936a976347 100644
--- a/fs/bcachefs/btree_types.h
+++ b/fs/bcachefs/btree_types.h
@@ -218,9 +218,8 @@ enum btree_iter_type {
enum btree_iter_uptodate {
BTREE_ITER_UPTODATE = 0,
- BTREE_ITER_NEED_PEEK = 1,
- BTREE_ITER_NEED_RELOCK = 2,
- BTREE_ITER_NEED_TRAVERSE = 3,
+ BTREE_ITER_NEED_RELOCK = 1,
+ BTREE_ITER_NEED_TRAVERSE = 2,
};
#define BTREE_ITER_NO_NODE_GET_LOCKS ((struct btree *) 1)