• Darrick J. Wong's avatar
    xfs: grab active perag ref when reading AG headers · 48c6615c
    Darrick J. Wong authored
    This patch prepares scrub to deal with the possibility of tearing down
    entire AGs by changing the order of resource acquisition to match the
    rest of the XFS codebase.  In other words, scrub now grabs AG resources
    in order of: perag structure, then AGI/AGF/AGFL buffers, then btree
    cursors; and releases them in reverse order.
    
    This requires us to distinguish xchk_ag_init callers -- some are
    responding to a user request to check AG metadata, in which case we can
    return ENOENT to userspace; but other callers have an ondisk reference
    to an AG that they're trying to cross-reference.  In this second case,
    the lack of an AG means there's ondisk corruption, since ondisk metadata
    cannot point into nonexistent space.
    Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
    Reviewed-by: default avatarChandan Babu R <chandanrlinux@gmail.com>
    48c6615c
common.h 4.88 KB