]> git.sesse.net Git - bcachefs-tools-debian/blob - libbcachefs/recovery_types.h
Update bcachefs sources to e7f6215768 bcachefs: Fix snapshot_skiplist_good()
[bcachefs-tools-debian] / libbcachefs / recovery_types.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_RECOVERY_TYPES_H
3 #define _BCACHEFS_RECOVERY_TYPES_H
4
5 #define PASS_SILENT             BIT(0)
6 #define PASS_FSCK               BIT(1)
7 #define PASS_UNCLEAN            BIT(2)
8 #define PASS_ALWAYS             BIT(3)
9
10 #define BCH_RECOVERY_PASSES()                                                                   \
11         x(alloc_read,                   PASS_ALWAYS)                                            \
12         x(stripes_read,                 PASS_ALWAYS)                                            \
13         x(initialize_subvolumes,        0)                                                      \
14         x(snapshots_read,               PASS_ALWAYS)                                            \
15         x(check_topology,               0)                                                      \
16         x(check_allocations,            PASS_FSCK)                                              \
17         x(set_may_go_rw,                PASS_ALWAYS|PASS_SILENT)                                \
18         x(journal_replay,               PASS_ALWAYS)                                            \
19         x(check_alloc_info,             PASS_FSCK)                                              \
20         x(check_lrus,                   PASS_FSCK)                                              \
21         x(check_btree_backpointers,     PASS_FSCK)                                              \
22         x(check_backpointers_to_extents,PASS_FSCK)                                              \
23         x(check_extents_to_backpointers,PASS_FSCK)                                              \
24         x(check_alloc_to_lru_refs,      PASS_FSCK)                                              \
25         x(fs_freespace_init,            PASS_ALWAYS|PASS_SILENT)                                \
26         x(bucket_gens_init,             0)                                                      \
27         x(check_snapshot_trees,         PASS_FSCK)                                              \
28         x(check_snapshots,              PASS_FSCK)                                              \
29         x(check_subvols,                PASS_FSCK)                                              \
30         x(delete_dead_snapshots,        PASS_FSCK|PASS_UNCLEAN)                                 \
31         x(fs_upgrade_for_subvolumes,    0)                                                      \
32         x(check_inodes,                 PASS_FSCK)                                              \
33         x(check_extents,                PASS_FSCK)                                              \
34         x(check_dirents,                PASS_FSCK)                                              \
35         x(check_xattrs,                 PASS_FSCK)                                              \
36         x(check_root,                   PASS_FSCK)                                              \
37         x(check_directory_structure,    PASS_FSCK)                                              \
38         x(check_nlinks,                 PASS_FSCK)                                              \
39         x(delete_dead_inodes,           PASS_FSCK|PASS_UNCLEAN)                                 \
40         x(fix_reflink_p,                0)                                                      \
41
42 enum bch_recovery_pass {
43 #define x(n, when)      BCH_RECOVERY_PASS_##n,
44         BCH_RECOVERY_PASSES()
45 #undef x
46 };
47
48 #endif /* _BCACHEFS_RECOVERY_TYPES_H */