~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/bcachefs/recovery_passes_types.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _BCACHEFS_RECOVERY_PASSES_TYPES_H
  3 #define _BCACHEFS_RECOVERY_PASSES_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 #define PASS_ONLINE             BIT(4)
 10 
 11 /*
 12  * Passes may be reordered, but the second field is a persistent identifier and
 13  * must never change:
 14  */
 15 #define BCH_RECOVERY_PASSES()                                                   \
 16         x(scan_for_btree_nodes,                 37, 0)                          \
 17         x(check_topology,                        4, 0)                          \
 18         x(accounting_read,                      39, PASS_ALWAYS)                \
 19         x(alloc_read,                            0, PASS_ALWAYS)                \
 20         x(stripes_read,                          1, PASS_ALWAYS)                \
 21         x(initialize_subvolumes,                 2, 0)                          \
 22         x(snapshots_read,                        3, PASS_ALWAYS)                \
 23         x(check_allocations,                     5, PASS_FSCK)                  \
 24         x(trans_mark_dev_sbs,                    6, PASS_ALWAYS|PASS_SILENT)    \
 25         x(fs_journal_alloc,                      7, PASS_ALWAYS|PASS_SILENT)    \
 26         x(set_may_go_rw,                         8, PASS_ALWAYS|PASS_SILENT)    \
 27         x(journal_replay,                        9, PASS_ALWAYS)                \
 28         x(check_alloc_info,                     10, PASS_ONLINE|PASS_FSCK)      \
 29         x(check_lrus,                           11, PASS_ONLINE|PASS_FSCK)      \
 30         x(check_btree_backpointers,             12, PASS_ONLINE|PASS_FSCK)      \
 31         x(check_backpointers_to_extents,        13, PASS_ONLINE|PASS_FSCK)      \
 32         x(check_extents_to_backpointers,        14, PASS_ONLINE|PASS_FSCK)      \
 33         x(check_alloc_to_lru_refs,              15, PASS_ONLINE|PASS_FSCK)      \
 34         x(fs_freespace_init,                    16, PASS_ALWAYS|PASS_SILENT)    \
 35         x(bucket_gens_init,                     17, 0)                          \
 36         x(reconstruct_snapshots,                38, 0)                          \
 37         x(check_snapshot_trees,                 18, PASS_ONLINE|PASS_FSCK)      \
 38         x(check_snapshots,                      19, PASS_ONLINE|PASS_FSCK)      \
 39         x(check_subvols,                        20, PASS_ONLINE|PASS_FSCK)      \
 40         x(check_subvol_children,                35, PASS_ONLINE|PASS_FSCK)      \
 41         x(delete_dead_snapshots,                21, PASS_ONLINE|PASS_FSCK)      \
 42         x(fs_upgrade_for_subvolumes,            22, 0)                          \
 43         x(check_inodes,                         24, PASS_FSCK)                  \
 44         x(check_extents,                        25, PASS_FSCK)                  \
 45         x(check_indirect_extents,               26, PASS_FSCK)                  \
 46         x(check_dirents,                        27, PASS_FSCK)                  \
 47         x(check_xattrs,                         28, PASS_FSCK)                  \
 48         x(check_root,                           29, PASS_ONLINE|PASS_FSCK)      \
 49         x(check_subvolume_structure,            36, PASS_ONLINE|PASS_FSCK)      \
 50         x(check_directory_structure,            30, PASS_ONLINE|PASS_FSCK)      \
 51         x(check_nlinks,                         31, PASS_FSCK)                  \
 52         x(resume_logged_ops,                    23, PASS_ALWAYS)                \
 53         x(delete_dead_inodes,                   32, PASS_FSCK|PASS_UNCLEAN)     \
 54         x(fix_reflink_p,                        33, 0)                          \
 55         x(set_fs_needs_rebalance,               34, 0)                          \
 56 
 57 /* We normally enumerate recovery passes in the order we run them: */
 58 enum bch_recovery_pass {
 59 #define x(n, id, when)  BCH_RECOVERY_PASS_##n,
 60         BCH_RECOVERY_PASSES()
 61 #undef x
 62         BCH_RECOVERY_PASS_NR
 63 };
 64 
 65 /* But we also need stable identifiers that can be used in the superblock */
 66 enum bch_recovery_pass_stable {
 67 #define x(n, id, when)  BCH_RECOVERY_PASS_STABLE_##n = id,
 68         BCH_RECOVERY_PASSES()
 69 #undef x
 70 };
 71 
 72 #endif /* _BCACHEFS_RECOVERY_PASSES_TYPES_H */
 73 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php