mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
067d228bb0
Recovery and fsck have many different passes/jobs to do, which always run in the same order - but not all of them run all the time. Some are for fsck, some for unclean shutdown, some for version upgrades. This adds some new structure: a defined list of recovery passes that we can run in a loop, as well as consolidating the log messages. The main benefit is consolidating the "should run this recovery pass" logic, as well as cleaning up the "this recovery pass has finished" state; instead of having a bunch of ad-hoc state bits in c->flags, we've now got c->curr_recovery_pass. By consolidating the "should run this recovery pass" logic, in the future on disk format upgrades will be able to say "upgrading to this version requires x passes to run", instead of forcing all of fsck to run. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
15 lines
455 B
C
15 lines
455 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _BCACHEFS_FSCK_H
|
|
#define _BCACHEFS_FSCK_H
|
|
|
|
int bch2_check_inodes(struct bch_fs *);
|
|
int bch2_check_extents(struct bch_fs *);
|
|
int bch2_check_dirents(struct bch_fs *);
|
|
int bch2_check_xattrs(struct bch_fs *);
|
|
int bch2_check_root(struct bch_fs *);
|
|
int bch2_check_directory_structure(struct bch_fs *);
|
|
int bch2_check_nlinks(struct bch_fs *);
|
|
int bch2_fix_reflink_p(struct bch_fs *);
|
|
|
|
#endif /* _BCACHEFS_FSCK_H */
|