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>2021-08-30 17:31:09 -0400
commite1b206d48337cbb1a8f37b00dbea259d3d85f6be (patch)
tree821b9479da50705c328f1dca2093ff17b44185e4
parent7d84f642c958baac651edd7739ebefc637e0e43d (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 cdd6f6c81fb2..b90439a162cd 100644
--- a/fs/bcachefs/btree_iter.c
+++ b/fs/bcachefs/btree_iter.c
@@ -231,7 +231,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);
@@ -749,8 +749,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,
@@ -856,11 +854,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,
@@ -1032,8 +1025,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,
@@ -1470,7 +1461,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,
@@ -1659,8 +1650,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)