GNU Linux-libre 6.9-gnu
[releases.git] / fs / bcachefs / btree_node_scan_types.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_BTREE_NODE_SCAN_TYPES_H
3 #define _BCACHEFS_BTREE_NODE_SCAN_TYPES_H
4
5 #include "darray.h"
6
7 struct found_btree_node {
8         bool                    range_updated:1;
9         bool                    overwritten:1;
10         u8                      btree_id;
11         u8                      level;
12         unsigned                sectors_written;
13         u32                     seq;
14         u64                     cookie;
15
16         struct bpos             min_key;
17         struct bpos             max_key;
18
19         unsigned                nr_ptrs;
20         struct bch_extent_ptr   ptrs[BCH_REPLICAS_MAX];
21 };
22
23 typedef DARRAY(struct found_btree_node) found_btree_nodes;
24
25 struct find_btree_nodes {
26         int                     ret;
27         struct mutex            lock;
28         found_btree_nodes       nodes;
29 };
30
31 #endif /* _BCACHEFS_BTREE_NODE_SCAN_TYPES_H */