Kent Overstreet 067d228bb0 bcachefs: Enumerate recovery passes
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>
2023-10-22 17:10:06 -04:00
..
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-28 11:39:14 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-28 09:31:32 -07:00
2023-08-28 11:04:18 -07:00
2023-08-28 10:17:14 -07:00
2023-08-28 10:17:14 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
\n
2023-08-30 12:10:50 -07:00
2023-09-02 15:37:59 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-09-05 12:45:55 -07:00
2023-09-05 13:00:28 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-31 15:25:01 -07:00
2023-09-01 09:43:18 -07:00
2023-08-29 17:45:22 -04:00
2023-08-29 20:21:42 -07:00
2023-08-31 15:36:41 -07:00
2023-08-31 15:32:18 -07:00
2023-08-29 20:21:42 -07:00
2023-08-31 12:07:34 -05:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-30 11:54:09 -07:00
2023-09-02 10:45:17 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
\n
2023-08-30 12:10:50 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-08-29 20:21:42 -07:00
2023-09-01 16:34:25 -07:00
\n
2023-08-30 12:10:50 -07:00
2023-08-29 20:21:42 -07:00
2023-08-28 09:31:32 -07:00
2023-08-30 12:34:12 -07:00
2023-08-28 11:59:52 -07:00
2023-08-31 12:20:12 -07:00
2023-08-28 10:17:14 -07:00
2023-06-28 20:35:21 -07:00
2023-08-29 20:21:42 -07:00
2023-08-24 16:20:30 -07:00
2023-09-11 23:59:47 -04:00
2023-07-26 14:56:07 +02:00
2023-08-08 19:36:51 +02:00
2023-08-28 10:17:14 -07:00
2023-08-28 10:17:14 -07:00
2023-08-21 13:46:25 -07:00
2023-08-14 18:48:02 +02:00
2023-08-28 11:04:18 -07:00
2023-08-29 20:21:42 -07:00
2023-08-28 11:04:18 -07:00
2023-10-22 17:08:07 -04:00
2023-08-19 12:12:12 +02:00
2023-08-31 15:32:18 -07:00
2023-10-22 17:08:07 -04:00
2023-08-19 12:12:12 +02:00
2023-07-13 10:28:04 +02:00
2023-08-28 11:25:27 -07:00
2023-08-28 10:17:14 -07:00
2023-08-15 08:32:45 +02:00
2023-08-31 12:47:15 +02:00