• Eric Sandeen's avatar
    xfs: limit superblock corruption errors to actual corruption · 5ef11eb0
    Eric Sandeen authored
    Today, if
    
    xfs_sb_read_verify
      xfs_sb_verify
        xfs_mount_validate_sb
    
    detects superblock corruption, it'll be extremely noisy, dumping
    2 stacks, 2 hexdumps, etc.
    
    This is because we call XFS_CORRUPTION_ERROR in xfs_mount_validate_sb
    as well as in xfs_sb_read_verify.
    
    Also, *any* errors in xfs_mount_validate_sb which are not corruption
    per se; things like too-big-blocksize, bad version, bad magic, v1 dirs,
    rw-incompat etc - things which do not return EFSCORRUPTED - will
    still do the whole XFS_CORRUPTION_ERROR spew when xfs_sb_read_verify
    sees any error at all.  And it suggests to the user that they
    should run xfs_repair, even if the root cause of the mount failure
    is a simple incompatibility.
    
    I'll submit that the probably-not-corrupted errors don't warrant
    this much noise, so this patch removes the warning for anything
    other than EFSCORRUPTED returns, and replaces the lower-level
    XFS_CORRUPTION_ERROR with an xfs_notice().
    Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
    Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
    Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
    5ef11eb0
xfs_sb.c 24.5 KB