On Fri, Dec 22, 2017 at 04:44:12PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Create some stubs that will be used to cross-reference metadata records. > The actual cross-referencing will be filled in by subsequent patches. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > --- > fs/xfs/scrub/agheader.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++- > fs/xfs/scrub/alloc.c | 14 ++++++++++ > fs/xfs/scrub/bmap.c | 28 ++++++++++++++++++++ > fs/xfs/scrub/ialloc.c | 17 ++++++++++++ > fs/xfs/scrub/inode.c | 13 +++++++++ > fs/xfs/scrub/refcount.c | 15 +++++++++++ > fs/xfs/scrub/rmap.c | 13 +++++++++ > 7 files changed, 163 insertions(+), 2 deletions(-) > > > diff --git a/fs/xfs/scrub/agheader.c b/fs/xfs/scrub/agheader.c > index 97beb47..5be9059 100644 > --- a/fs/xfs/scrub/agheader.c > +++ b/fs/xfs/scrub/agheader.c > @@ -37,7 +37,10 @@ > #include "scrub/common.h" > #include "scrub/trace.h" > > -/* Walk all the blocks in the AGFL. */ > +/* > + * Walk all the blocks in the AGFL. The fn function can return any negative > + * error code or XFS_BTREE_QUERY_RANGE_ABORT. > + */ > int > xfs_scrub_walk_agfl( > struct xfs_scrub_context *sc, > @@ -98,6 +101,14 @@ xfs_scrub_walk_agfl( > > /* Superblock */ > > +/* Cross-reference with the other btrees. */ > +STATIC void > +xfs_scrub_superblock_xref( > + struct xfs_scrub_context *sc, > + struct xfs_buf *bp) > +{ > +} > + > /* > * Scrub the filesystem superblock. > * > @@ -386,11 +397,23 @@ xfs_scrub_superblock( > BBTOB(bp->b_length) - sizeof(struct xfs_dsb))) > xfs_scrub_block_set_corrupt(sc, bp); > > + if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT) > + goto out; > + > + xfs_scrub_superblock_xref(sc, bp); > +out: I know this is just a set of stubs, but why isn't the "skip xref because it's already marked corrupt" check inside the xref functions? That gets rid of all these gotos and makes the code simpler.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html