diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-08-30 15:54:41 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:11 -0400 |
commit | f21566f17aa8f100b6d106f657a75964a3482f54 (patch) | |
tree | cc8cc45e178130e28dbee618b47227954d05ed7f /fs/bcachefs/btree_types.h | |
parent | bcachefs: Kill BTREE_ITER_NEED_PEEK (diff) | |
download | linux-f21566f17aa8f100b6d106f657a75964a3482f54.tar.gz linux-f21566f17aa8f100b6d106f657a75964a3482f54.tar.bz2 linux-f21566f17aa8f100b6d106f657a75964a3482f54.zip |
bcachefs: Kill BTREE_ITER_NODES
We really only need to distinguish between btree iterators and btree key
cache iterators - this is more prep work for btree_path.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/btree_types.h')
-rw-r--r-- | fs/bcachefs/btree_types.h | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/fs/bcachefs/btree_types.h b/fs/bcachefs/btree_types.h index d288404e35c4..56dc5fbb7c91 100644 --- a/fs/bcachefs/btree_types.h +++ b/fs/bcachefs/btree_types.h @@ -176,44 +176,38 @@ struct btree_node_iter { } data[MAX_BSETS]; }; -enum btree_iter_type { - BTREE_ITER_KEYS, - BTREE_ITER_NODES, - BTREE_ITER_CACHED, -}; - -#define BTREE_ITER_TYPE ((1 << 2) - 1) - /* * Iterate over all possible positions, synthesizing deleted keys for holes: */ -#define BTREE_ITER_SLOTS (1 << 2) +#define BTREE_ITER_SLOTS (1 << 0) /* * Indicates that intent locks should be taken on leaf nodes, because we expect * to be doing updates: */ -#define BTREE_ITER_INTENT (1 << 3) +#define BTREE_ITER_INTENT (1 << 1) /* * Causes the btree iterator code to prefetch additional btree nodes from disk: */ -#define BTREE_ITER_PREFETCH (1 << 4) +#define BTREE_ITER_PREFETCH (1 << 2) /* * Indicates that this iterator should not be reused until transaction commit, * either because a pending update references it or because the update depends * on that particular key being locked (e.g. by the str_hash code, for hash * table consistency) */ -#define BTREE_ITER_KEEP_UNTIL_COMMIT (1 << 5) +#define BTREE_ITER_KEEP_UNTIL_COMMIT (1 << 3) /* * Used in bch2_btree_iter_traverse(), to indicate whether we're searching for * @pos or the first key strictly greater than @pos */ -#define BTREE_ITER_IS_EXTENTS (1 << 6) -#define BTREE_ITER_NOT_EXTENTS (1 << 7) -#define BTREE_ITER_ERROR (1 << 8) -#define BTREE_ITER_CACHED_NOFILL (1 << 9) -#define BTREE_ITER_CACHED_NOCREATE (1 << 10) -#define BTREE_ITER_WITH_UPDATES (1 << 11) +#define BTREE_ITER_IS_EXTENTS (1 << 4) +#define BTREE_ITER_NOT_EXTENTS (1 << 5) +#define BTREE_ITER_ERROR (1 << 6) +#define BTREE_ITER_CACHED (1 << 7) +#define BTREE_ITER_CACHED_NOFILL (1 << 8) +#define BTREE_ITER_CACHED_NOCREATE (1 << 9) +#define BTREE_ITER_WITH_UPDATES (1 << 10) +#define __BTREE_ITER_ALL_SNAPSHOTS (1 << 11) #define BTREE_ITER_ALL_SNAPSHOTS (1 << 12) enum btree_iter_uptodate { @@ -256,7 +250,8 @@ struct btree_iter { struct bpos real_pos; enum btree_id btree_id:4; - enum btree_iter_uptodate uptodate:3; + bool cached:1; + enum btree_iter_uptodate uptodate:2; /* * True if we've returned a key (and thus are expected to keep it * locked), false after set_pos - for avoiding spurious transaction @@ -282,17 +277,6 @@ struct btree_iter { struct bkey k; }; -static inline enum btree_iter_type -btree_iter_type(const struct btree_iter *iter) -{ - return iter->flags & BTREE_ITER_TYPE; -} - -static inline bool btree_iter_is_cached(const struct btree_iter *iter) -{ - return btree_iter_type(iter) == BTREE_ITER_CACHED; -} - static inline struct btree_iter_level *iter_l(struct btree_iter *iter) { return iter->l + iter->level; |