Message ID | 161370469026.2389661.9403286204851498334.stgit@magnolia (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | xfs_repair: set needsrepair when dirtying filesystems | expand |
On 2/18/21 9:18 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Create a helper function to centralize all the stuff we do at the end of > a repair phase (which for now is limited to reporting progress). The > next patch will add more interesting things to this helper. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > repair/xfs_repair.c | 22 ++++++++++++++-------- > 1 file changed, 14 insertions(+), 8 deletions(-) > > > diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c > index 8eb7da53..891b3b23 100644 > --- a/repair/xfs_repair.c > +++ b/repair/xfs_repair.c > @@ -847,6 +847,12 @@ repair_capture_writeback( > pthread_mutex_unlock(&wb_mutex); > } > > +static inline void > +phase_end(int phase) > +{ > + timestamp(PHASE_END, phase, NULL); (future cleanup, remove the unused 3rd arg from this function and make it a void....) otherwise this is a trivial no-op, congratulations you gat an RVB! ;) Reviewed-by: Eric Sandeen <sandeen@redhat.com> > +} > + > int > main(int argc, char **argv) > { > @@ -876,7 +882,7 @@ main(int argc, char **argv) > msgbuf = malloc(DURATION_BUF_SIZE); > > timestamp(PHASE_START, 0, NULL); > - timestamp(PHASE_END, 0, NULL); > + phase_end(0); > > /* -f forces this, but let's be nice and autodetect it, as well. */ > if (!isa_file) { > @@ -899,7 +905,7 @@ main(int argc, char **argv) > > /* do phase1 to make sure we have a superblock */ > phase1(temp_mp); > - timestamp(PHASE_END, 1, NULL); > + phase_end(1); > > if (no_modify && primary_sb_modified) { > do_warn(_("Primary superblock would have been modified.\n" > @@ -1125,23 +1131,23 @@ main(int argc, char **argv) > > /* make sure the per-ag freespace maps are ok so we can mount the fs */ > phase2(mp, phase2_threads); > - timestamp(PHASE_END, 2, NULL); > + phase_end(2); > > if (do_prefetch) > init_prefetch(mp); > > phase3(mp, phase2_threads); > - timestamp(PHASE_END, 3, NULL); > + phase_end(3); > > phase4(mp); > - timestamp(PHASE_END, 4, NULL); > + phase_end(4); > > if (no_modify) > printf(_("No modify flag set, skipping phase 5\n")); > else { > phase5(mp); > } > - timestamp(PHASE_END, 5, NULL); > + phase_end(5); > > /* > * Done with the block usage maps, toss them... > @@ -1151,10 +1157,10 @@ main(int argc, char **argv) > > if (!bad_ino_btree) { > phase6(mp); > - timestamp(PHASE_END, 6, NULL); > + phase_end(6); > > phase7(mp, phase2_threads); > - timestamp(PHASE_END, 7, NULL); > + phase_end(7); > } else { > do_warn( > _("Inode allocation btrees are too corrupted, skipping phases 6 and 7\n")); >
On Thu, Feb 18, 2021 at 07:18:10PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Create a helper function to centralize all the stuff we do at the end of > a repair phase (which for now is limited to reporting progress). The > next patch will add more interesting things to this helper. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- Reviewed-by: Brian Foster <bfoster@redhat.com> > repair/xfs_repair.c | 22 ++++++++++++++-------- > 1 file changed, 14 insertions(+), 8 deletions(-) > > > diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c > index 8eb7da53..891b3b23 100644 > --- a/repair/xfs_repair.c > +++ b/repair/xfs_repair.c > @@ -847,6 +847,12 @@ repair_capture_writeback( > pthread_mutex_unlock(&wb_mutex); > } > > +static inline void > +phase_end(int phase) > +{ > + timestamp(PHASE_END, phase, NULL); > +} > + > int > main(int argc, char **argv) > { > @@ -876,7 +882,7 @@ main(int argc, char **argv) > msgbuf = malloc(DURATION_BUF_SIZE); > > timestamp(PHASE_START, 0, NULL); > - timestamp(PHASE_END, 0, NULL); > + phase_end(0); > > /* -f forces this, but let's be nice and autodetect it, as well. */ > if (!isa_file) { > @@ -899,7 +905,7 @@ main(int argc, char **argv) > > /* do phase1 to make sure we have a superblock */ > phase1(temp_mp); > - timestamp(PHASE_END, 1, NULL); > + phase_end(1); > > if (no_modify && primary_sb_modified) { > do_warn(_("Primary superblock would have been modified.\n" > @@ -1125,23 +1131,23 @@ main(int argc, char **argv) > > /* make sure the per-ag freespace maps are ok so we can mount the fs */ > phase2(mp, phase2_threads); > - timestamp(PHASE_END, 2, NULL); > + phase_end(2); > > if (do_prefetch) > init_prefetch(mp); > > phase3(mp, phase2_threads); > - timestamp(PHASE_END, 3, NULL); > + phase_end(3); > > phase4(mp); > - timestamp(PHASE_END, 4, NULL); > + phase_end(4); > > if (no_modify) > printf(_("No modify flag set, skipping phase 5\n")); > else { > phase5(mp); > } > - timestamp(PHASE_END, 5, NULL); > + phase_end(5); > > /* > * Done with the block usage maps, toss them... > @@ -1151,10 +1157,10 @@ main(int argc, char **argv) > > if (!bad_ino_btree) { > phase6(mp); > - timestamp(PHASE_END, 6, NULL); > + phase_end(6); > > phase7(mp, phase2_threads); > - timestamp(PHASE_END, 7, NULL); > + phase_end(7); > } else { > do_warn( > _("Inode allocation btrees are too corrupted, skipping phases 6 and 7\n")); >
diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c index 8eb7da53..891b3b23 100644 --- a/repair/xfs_repair.c +++ b/repair/xfs_repair.c @@ -847,6 +847,12 @@ repair_capture_writeback( pthread_mutex_unlock(&wb_mutex); } +static inline void +phase_end(int phase) +{ + timestamp(PHASE_END, phase, NULL); +} + int main(int argc, char **argv) { @@ -876,7 +882,7 @@ main(int argc, char **argv) msgbuf = malloc(DURATION_BUF_SIZE); timestamp(PHASE_START, 0, NULL); - timestamp(PHASE_END, 0, NULL); + phase_end(0); /* -f forces this, but let's be nice and autodetect it, as well. */ if (!isa_file) { @@ -899,7 +905,7 @@ main(int argc, char **argv) /* do phase1 to make sure we have a superblock */ phase1(temp_mp); - timestamp(PHASE_END, 1, NULL); + phase_end(1); if (no_modify && primary_sb_modified) { do_warn(_("Primary superblock would have been modified.\n" @@ -1125,23 +1131,23 @@ main(int argc, char **argv) /* make sure the per-ag freespace maps are ok so we can mount the fs */ phase2(mp, phase2_threads); - timestamp(PHASE_END, 2, NULL); + phase_end(2); if (do_prefetch) init_prefetch(mp); phase3(mp, phase2_threads); - timestamp(PHASE_END, 3, NULL); + phase_end(3); phase4(mp); - timestamp(PHASE_END, 4, NULL); + phase_end(4); if (no_modify) printf(_("No modify flag set, skipping phase 5\n")); else { phase5(mp); } - timestamp(PHASE_END, 5, NULL); + phase_end(5); /* * Done with the block usage maps, toss them... @@ -1151,10 +1157,10 @@ main(int argc, char **argv) if (!bad_ino_btree) { phase6(mp); - timestamp(PHASE_END, 6, NULL); + phase_end(6); phase7(mp, phase2_threads); - timestamp(PHASE_END, 7, NULL); + phase_end(7); } else { do_warn( _("Inode allocation btrees are too corrupted, skipping phases 6 and 7\n"));