Loading fs/bcachefs/bcachefs.h +3 −0 Original line number Diff line number Diff line Loading @@ -1057,7 +1057,10 @@ struct bch_fs { enum bch_recovery_pass curr_recovery_pass; /* bitmap of explicitly enabled recovery passes: */ u64 recovery_passes_explicit; /* bitmask of recovery passes that we actually ran */ u64 recovery_passes_complete; /* never rewinds version of curr_recovery_pass */ enum bch_recovery_pass recovery_pass_done; struct semaphore online_fsck_mutex; /* DEBUG JUNK */ Loading fs/bcachefs/recovery.c +3 −0 Original line number Diff line number Diff line Loading @@ -713,6 +713,7 @@ static int bch2_run_recovery_passes(struct bch_fs *c) c->recovery_passes_complete |= BIT_ULL(c->curr_recovery_pass); } c->curr_recovery_pass++; c->recovery_pass_done = max(c->recovery_pass_done, c->curr_recovery_pass); } return ret; Loading Loading @@ -1197,6 +1198,8 @@ int bch2_fs_initialize(struct bch_fs *c) goto err; } c->recovery_pass_done = ARRAY_SIZE(recovery_pass_fns) - 1; if (enabled_qtypes(c)) { ret = bch2_fs_quota_read(c); if (ret) Loading fs/bcachefs/snapshot.c +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ bool __bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor) struct snapshot_table *t; bool ret; EBUG_ON(c->curr_recovery_pass <= BCH_RECOVERY_PASS_check_snapshots); EBUG_ON(c->recovery_pass_done <= BCH_RECOVERY_PASS_check_snapshots); rcu_read_lock(); t = rcu_dereference(c->snapshots); Loading Loading
fs/bcachefs/bcachefs.h +3 −0 Original line number Diff line number Diff line Loading @@ -1057,7 +1057,10 @@ struct bch_fs { enum bch_recovery_pass curr_recovery_pass; /* bitmap of explicitly enabled recovery passes: */ u64 recovery_passes_explicit; /* bitmask of recovery passes that we actually ran */ u64 recovery_passes_complete; /* never rewinds version of curr_recovery_pass */ enum bch_recovery_pass recovery_pass_done; struct semaphore online_fsck_mutex; /* DEBUG JUNK */ Loading
fs/bcachefs/recovery.c +3 −0 Original line number Diff line number Diff line Loading @@ -713,6 +713,7 @@ static int bch2_run_recovery_passes(struct bch_fs *c) c->recovery_passes_complete |= BIT_ULL(c->curr_recovery_pass); } c->curr_recovery_pass++; c->recovery_pass_done = max(c->recovery_pass_done, c->curr_recovery_pass); } return ret; Loading Loading @@ -1197,6 +1198,8 @@ int bch2_fs_initialize(struct bch_fs *c) goto err; } c->recovery_pass_done = ARRAY_SIZE(recovery_pass_fns) - 1; if (enabled_qtypes(c)) { ret = bch2_fs_quota_read(c); if (ret) Loading
fs/bcachefs/snapshot.c +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ bool __bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor) struct snapshot_table *t; bool ret; EBUG_ON(c->curr_recovery_pass <= BCH_RECOVERY_PASS_check_snapshots); EBUG_ON(c->recovery_pass_done <= BCH_RECOVERY_PASS_check_snapshots); rcu_read_lock(); t = rcu_dereference(c->snapshots); Loading