diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-15 14:58:36 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-15 14:58:36 -0400 |
commit | 319abbc65330d20daee499e841ffcdef06c60fb5 (patch) | |
tree | e5226ca835a4ba3b6461f00f070a4a4e600ebc50 /libbcachefs/backpointers.h | |
parent | 3a0ae34333bf6164378e574a65f5bd04ac7e7769 (diff) |
Update bcachefs sources to 2f4e24d856 bcachefs: Split out dev_buckets_free()v0.22
Diffstat (limited to 'libbcachefs/backpointers.h')
-rw-r--r-- | libbcachefs/backpointers.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libbcachefs/backpointers.h b/libbcachefs/backpointers.h new file mode 100644 index 00000000..fe42af29 --- /dev/null +++ b/libbcachefs/backpointers.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_BACKPOINTERS_BACKGROUND_H +#define _BCACHEFS_BACKPOINTERS_BACKGROUND_H + +#include "super.h" + +int bch2_backpointer_invalid(const struct bch_fs *, struct bkey_s_c k, + int, struct printbuf *); +void bch2_backpointer_to_text(struct printbuf *, const struct bch_backpointer *); +void bch2_backpointer_k_to_text(struct printbuf *, struct bch_fs *, struct bkey_s_c); +void bch2_backpointer_swab(struct bkey_s); + +#define bch2_bkey_ops_backpointer (struct bkey_ops) { \ + .key_invalid = bch2_backpointer_invalid, \ + .val_to_text = bch2_backpointer_k_to_text, \ + .swab = bch2_backpointer_swab, \ +} + +void bch2_extent_ptr_to_bp(struct bch_fs *, enum btree_id, unsigned, + struct bkey_s_c, struct extent_ptr_decoded, + struct bpos *, struct bch_backpointer *); + +int bch2_bucket_backpointer_del(struct btree_trans *, struct bkey_i_alloc_v4 *, + struct bch_backpointer, struct bkey_s_c); +int bch2_bucket_backpointer_add(struct btree_trans *, struct bkey_i_alloc_v4 *, + struct bch_backpointer, struct bkey_s_c); +int bch2_get_next_backpointer(struct btree_trans *, struct bpos, int, + u64 *, struct bch_backpointer *); +struct bkey_s_c bch2_backpointer_get_key(struct btree_trans *, struct btree_iter *, + struct bpos, u64, struct bch_backpointer); +struct btree *bch2_backpointer_get_node(struct btree_trans *, struct btree_iter *, + struct bpos, u64, struct bch_backpointer); + +int bch2_check_btree_backpointers(struct bch_fs *); +int bch2_check_extents_to_backpointers(struct bch_fs *); +int bch2_check_backpointers_to_extents(struct bch_fs *); + +#endif /* _BCACHEFS_BACKPOINTERS_BACKGROUND_H */ |