• Darrick J. Wong's avatar
    xfs: xfs_scrub_iallocbt_xref_rmap_inodes should use xref_set_corrupt · b83e4c3c
    Darrick J. Wong authored
    In xfs_scrub_iallocbt_xref_rmap_inodes we're checking inodes against
    rmap records, so we should use xfs_scrub_btree_xref_set_corrupt if we
    encounter discrepancies here so that we know that it's a cross
    referencing error, not necessarily a corruption in the inobt itself.
    
    The userspace xfs_scrub program will try to repair outright corruptions
    in the agi/inobt prior to phase 3 so that the inode scan will proceed.
    If only a cross-referencing error is noted, the repair program defers
    the repair attempt until it can check the other space metadata at least
    once.
    
    It is therefore essential that the inobt scrubber can correctly
    distinguish between corruptions and "unable to cross-reference something
    else with this inobt".  The same reasoning applies to "xfs: record inode
    buf errors as a xref error in inobt scrubber".
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    b83e4c3c
ialloc.c 14.5 KB