summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/btree_types.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-04 00:39:38 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-01 11:47:43 -0500
commit07f383c71fadc952059ed4ffe37dd465bda4ad3e (patch)
treeae936ee5c9fdff01ea6cadce816c4a7d8b844600 /fs/bcachefs/btree_types.h
parent788cc25d15e0d502a29fb7deae78832075e55655 (diff)
downloadlinux-07f383c71fadc952059ed4ffe37dd465bda4ad3e.tar.gz
linux-07f383c71fadc952059ed4ffe37dd465bda4ad3e.tar.bz2
linux-07f383c71fadc952059ed4ffe37dd465bda4ad3e.zip
bcachefs: btree_iter -> btree_path_idx_t
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_types.h')
-rw-r--r--fs/bcachefs/btree_types.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/fs/bcachefs/btree_types.h b/fs/bcachefs/btree_types.h
index 19595a599c55..4b96437c087e 100644
--- a/fs/bcachefs/btree_types.h
+++ b/fs/bcachefs/btree_types.h
@@ -225,8 +225,8 @@ enum btree_path_uptodate {
typedef u16 btree_path_idx_t;
struct btree_path {
- u8 idx;
- u8 sorted_idx;
+ btree_path_idx_t idx;
+ btree_path_idx_t sorted_idx;
u8 ref;
u8 intent_ref;
@@ -282,9 +282,9 @@ static inline unsigned long btree_path_ip_allocated(struct btree_path *path)
*/
struct btree_iter {
struct btree_trans *trans;
- struct btree_path *path;
- struct btree_path *update_path;
- struct btree_path *key_cache_path;
+ btree_path_idx_t path;
+ btree_path_idx_t update_path;
+ btree_path_idx_t key_cache_path;
enum btree_id btree_id:8;
u8 min_depth;
@@ -410,7 +410,7 @@ struct btree_trans {
* extent:
*/
unsigned extra_journal_res;
- u8 nr_max_paths;
+ btree_path_idx_t nr_max_paths;
u16 journal_entries_u64s;
u16 journal_entries_size;
@@ -437,6 +437,18 @@ struct btree_trans {
struct replicas_delta_list *fs_usage_deltas;
};
+static inline struct btree_path *btree_iter_path(struct btree_trans *trans, struct btree_iter *iter)
+{
+ return trans->paths + iter->path;
+}
+
+static inline struct btree_path *btree_iter_key_cache_path(struct btree_trans *trans, struct btree_iter *iter)
+{
+ return iter->key_cache_path
+ ? trans->paths + iter->key_cache_path
+ : NULL;
+}
+
#define BCH_BTREE_WRITE_TYPES() \
x(initial, 0) \
x(init_next_bset, 1) \