diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-04 12:53:59 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-11-04 12:53:59 -0500 |
commit | 6016d33b801a5fe13e86e5be3abf68ed166c0796 (patch) | |
tree | 47a42030c705d19e6b74ea785e82f123a10015b0 /libbcachefs/btree_types.h | |
parent | 61bc316a4da4831d8812eb5051732cca27652d8d (diff) |
Update bcachefs sources to 9e76e8d98c bcachefs: Fix uninitialized field in hash_check_init()
Diffstat (limited to 'libbcachefs/btree_types.h')
-rw-r--r-- | libbcachefs/btree_types.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/libbcachefs/btree_types.h b/libbcachefs/btree_types.h index 96be31f8..efa68bb5 100644 --- a/libbcachefs/btree_types.h +++ b/libbcachefs/btree_types.h @@ -252,7 +252,6 @@ struct btree_insert_entry { struct btree_trans { struct bch_fs *c; unsigned long ip; - u64 commit_start; u64 iters_linked; u64 iters_live; @@ -280,12 +279,11 @@ struct btree_trans { struct disk_reservation *disk_res; unsigned flags; unsigned journal_u64s; + struct replicas_delta_list *fs_usage_deltas; struct btree_iter iters_onstack[2]; struct btree_insert_entry updates_onstack[6]; u8 updates_sorted_onstack[6]; - - struct replicas_delta_list *fs_usage_deltas; }; #define BTREE_FLAG(flag) \ @@ -417,6 +415,12 @@ static inline unsigned btree_bkey_first_offset(const struct bset_tree *t) __btree_node_offset_to_key(_b, (_t)->end_offset); \ }) +static inline unsigned bset_u64s(struct bset_tree *t) +{ + return t->end_offset - t->data_offset - + sizeof(struct bset) / sizeof(u64); +} + static inline unsigned bset_byte_offset(struct btree *b, void *i) { return i - (void *) b->data; @@ -457,19 +461,22 @@ static inline bool btree_node_is_extents(struct btree *b) return btree_node_type_is_extents(btree_node_type(b)); } +#define BTREE_NODE_TYPE_HAS_TRIGGERS \ + ((1U << BKEY_TYPE_EXTENTS)| \ + (1U << BKEY_TYPE_ALLOC)| \ + (1U << BKEY_TYPE_INODES)| \ + (1U << BKEY_TYPE_REFLINK)| \ + (1U << BKEY_TYPE_EC)| \ + (1U << BKEY_TYPE_BTREE)) + +#define BTREE_NODE_TYPE_HAS_TRANS_TRIGGERS \ + ((1U << BKEY_TYPE_EXTENTS)| \ + (1U << BKEY_TYPE_INODES)| \ + (1U << BKEY_TYPE_REFLINK)) + static inline bool btree_node_type_needs_gc(enum btree_node_type type) { - switch (type) { - case BKEY_TYPE_ALLOC: - case BKEY_TYPE_BTREE: - case BKEY_TYPE_EXTENTS: - case BKEY_TYPE_INODES: - case BKEY_TYPE_EC: - case BKEY_TYPE_REFLINK: - return true; - default: - return false; - } + return BTREE_NODE_TYPE_HAS_TRIGGERS & (1U << type); } struct btree_root { |