diff options
Diffstat (limited to 'fs/xfs/xfs_ialloc_btree.c')
| -rw-r--r-- | fs/xfs/xfs_ialloc_btree.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/fs/xfs/xfs_ialloc_btree.c b/fs/xfs/xfs_ialloc_btree.c index c8fa5bbb36de..7e309b11e87d 100644 --- a/fs/xfs/xfs_ialloc_btree.c +++ b/fs/xfs/xfs_ialloc_btree.c | |||
| @@ -243,12 +243,14 @@ static void | |||
| 243 | xfs_inobt_read_verify( | 243 | xfs_inobt_read_verify( |
| 244 | struct xfs_buf *bp) | 244 | struct xfs_buf *bp) |
| 245 | { | 245 | { |
| 246 | if (!(xfs_btree_sblock_verify_crc(bp) && | 246 | if (!xfs_btree_sblock_verify_crc(bp)) |
| 247 | xfs_inobt_verify(bp))) { | 247 | xfs_buf_ioerror(bp, EFSBADCRC); |
| 248 | trace_xfs_btree_corrupt(bp, _RET_IP_); | 248 | else if (!xfs_inobt_verify(bp)) |
| 249 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, | ||
| 250 | bp->b_target->bt_mount, bp->b_addr); | ||
| 251 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 249 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
| 250 | |||
| 251 | if (bp->b_error) { | ||
| 252 | trace_xfs_btree_corrupt(bp, _RET_IP_); | ||
| 253 | xfs_verifier_error(bp); | ||
| 252 | } | 254 | } |
| 253 | } | 255 | } |
| 254 | 256 | ||
| @@ -258,9 +260,9 @@ xfs_inobt_write_verify( | |||
| 258 | { | 260 | { |
| 259 | if (!xfs_inobt_verify(bp)) { | 261 | if (!xfs_inobt_verify(bp)) { |
| 260 | trace_xfs_btree_corrupt(bp, _RET_IP_); | 262 | trace_xfs_btree_corrupt(bp, _RET_IP_); |
| 261 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, | ||
| 262 | bp->b_target->bt_mount, bp->b_addr); | ||
| 263 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 263 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
| 264 | xfs_verifier_error(bp); | ||
| 265 | return; | ||
| 264 | } | 266 | } |
| 265 | xfs_btree_sblock_calc_crc(bp); | 267 | xfs_btree_sblock_calc_crc(bp); |
| 266 | 268 | ||
