Merge branch 'xfs-verifier-cleanup' into for-next
这个提交包含在:
@@ -611,12 +611,11 @@ xfs_sb_read_verify(
|
||||
XFS_SB_VERSION_5) ||
|
||||
dsb->sb_crc != 0)) {
|
||||
|
||||
if (!xfs_verify_cksum(bp->b_addr, BBTOB(bp->b_length),
|
||||
offsetof(struct xfs_sb, sb_crc))) {
|
||||
if (!xfs_buf_verify_cksum(bp, XFS_SB_CRC_OFF)) {
|
||||
/* Only fail bad secondaries on a known V5 filesystem */
|
||||
if (bp->b_bn == XFS_SB_DADDR ||
|
||||
xfs_sb_version_hascrc(&mp->m_sb)) {
|
||||
error = EFSCORRUPTED;
|
||||
error = EFSBADCRC;
|
||||
goto out_error;
|
||||
}
|
||||
}
|
||||
@@ -625,10 +624,9 @@ xfs_sb_read_verify(
|
||||
|
||||
out_error:
|
||||
if (error) {
|
||||
if (error == EFSCORRUPTED)
|
||||
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW,
|
||||
mp, bp->b_addr);
|
||||
xfs_buf_ioerror(bp, error);
|
||||
if (error == EFSCORRUPTED || error == EFSBADCRC)
|
||||
xfs_verifier_error(bp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -663,9 +661,8 @@ xfs_sb_write_verify(
|
||||
|
||||
error = xfs_sb_verify(bp, false);
|
||||
if (error) {
|
||||
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW,
|
||||
mp, bp->b_addr);
|
||||
xfs_buf_ioerror(bp, error);
|
||||
xfs_verifier_error(bp);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -675,8 +672,7 @@ xfs_sb_write_verify(
|
||||
if (bip)
|
||||
XFS_BUF_TO_SBP(bp)->sb_lsn = cpu_to_be64(bip->bli_item.li_lsn);
|
||||
|
||||
xfs_update_cksum(bp->b_addr, BBTOB(bp->b_length),
|
||||
offsetof(struct xfs_sb, sb_crc));
|
||||
xfs_buf_update_cksum(bp, XFS_SB_CRC_OFF);
|
||||
}
|
||||
|
||||
const struct xfs_buf_ops xfs_sb_buf_ops = {
|
||||
|
在新工单中引用
屏蔽一个用户