Message ID | 161404923555.425352.13688646688421406378.stgit@magnolia (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | xfsprogs: add the ability to flag a fs for repair | expand |
On 2/22/21 8:00 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Teach the version and check commands to report the presence of the > NEEDSREPAIR flag. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > Reviewed-by: Brian Foster <bfoster@redhat.com> Looks good Reviewed-by: Allison Henderson <allison.henderson@oracle.com> > --- > db/check.c | 5 +++++ > db/sb.c | 2 ++ > 2 files changed, 7 insertions(+) > > > diff --git a/db/check.c b/db/check.c > index 33736e33..485e855e 100644 > --- a/db/check.c > +++ b/db/check.c > @@ -3970,6 +3970,11 @@ scan_ag( > dbprintf(_("mkfs not completed successfully\n")); > error++; > } > + if (xfs_sb_version_needsrepair(sb)) { > + if (!sflag) > + dbprintf(_("filesystem needs xfs_repair\n")); > + error++; > + } > set_dbmap(agno, XFS_SB_BLOCK(mp), 1, DBM_SB, agno, XFS_SB_BLOCK(mp)); > if (sb->sb_logstart && XFS_FSB_TO_AGNO(mp, sb->sb_logstart) == agno) > set_dbmap(agno, XFS_FSB_TO_AGBNO(mp, sb->sb_logstart), > diff --git a/db/sb.c b/db/sb.c > index d09f653d..d7111e92 100644 > --- a/db/sb.c > +++ b/db/sb.c > @@ -691,6 +691,8 @@ version_string( > strcat(s, ",INOBTCNT"); > if (xfs_sb_version_hasbigtime(sbp)) > strcat(s, ",BIGTIME"); > + if (xfs_sb_version_needsrepair(sbp)) > + strcat(s, ",NEEDSREPAIR"); > return s; > } > >
On Mon, Feb 22, 2021 at 07:00:35PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Teach the version and check commands to report the presence of the > NEEDSREPAIR flag. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > Reviewed-by: Brian Foster <bfoster@redhat.com> Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/db/check.c b/db/check.c index 33736e33..485e855e 100644 --- a/db/check.c +++ b/db/check.c @@ -3970,6 +3970,11 @@ scan_ag( dbprintf(_("mkfs not completed successfully\n")); error++; } + if (xfs_sb_version_needsrepair(sb)) { + if (!sflag) + dbprintf(_("filesystem needs xfs_repair\n")); + error++; + } set_dbmap(agno, XFS_SB_BLOCK(mp), 1, DBM_SB, agno, XFS_SB_BLOCK(mp)); if (sb->sb_logstart && XFS_FSB_TO_AGNO(mp, sb->sb_logstart) == agno) set_dbmap(agno, XFS_FSB_TO_AGBNO(mp, sb->sb_logstart), diff --git a/db/sb.c b/db/sb.c index d09f653d..d7111e92 100644 --- a/db/sb.c +++ b/db/sb.c @@ -691,6 +691,8 @@ version_string( strcat(s, ",INOBTCNT"); if (xfs_sb_version_hasbigtime(sbp)) strcat(s, ",BIGTIME"); + if (xfs_sb_version_needsrepair(sbp)) + strcat(s, ",NEEDSREPAIR"); return s; }