diff options
Diffstat (limited to 'fs/xfs/xfs_dir2_data.c')
| -rw-r--r-- | fs/xfs/xfs_dir2_data.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/xfs/xfs_dir2_data.c b/fs/xfs/xfs_dir2_data.c index 70acff4ee173..afa4ad523f3f 100644 --- a/fs/xfs/xfs_dir2_data.c +++ b/fs/xfs/xfs_dir2_data.c | |||
| @@ -241,7 +241,6 @@ static void | |||
| 241 | xfs_dir3_data_reada_verify( | 241 | xfs_dir3_data_reada_verify( |
| 242 | struct xfs_buf *bp) | 242 | struct xfs_buf *bp) |
| 243 | { | 243 | { |
| 244 | struct xfs_mount *mp = bp->b_target->bt_mount; | ||
| 245 | struct xfs_dir2_data_hdr *hdr = bp->b_addr; | 244 | struct xfs_dir2_data_hdr *hdr = bp->b_addr; |
| 246 | 245 | ||
| 247 | switch (hdr->magic) { | 246 | switch (hdr->magic) { |
| @@ -255,8 +254,8 @@ xfs_dir3_data_reada_verify( | |||
| 255 | xfs_dir3_data_verify(bp); | 254 | xfs_dir3_data_verify(bp); |
| 256 | return; | 255 | return; |
| 257 | default: | 256 | default: |
| 258 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, hdr); | ||
| 259 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 257 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
| 258 | xfs_verifier_error(bp); | ||
| 260 | break; | 259 | break; |
| 261 | } | 260 | } |
| 262 | } | 261 | } |
| @@ -267,13 +266,14 @@ xfs_dir3_data_read_verify( | |||
| 267 | { | 266 | { |
| 268 | struct xfs_mount *mp = bp->b_target->bt_mount; | 267 | struct xfs_mount *mp = bp->b_target->bt_mount; |
| 269 | 268 | ||
| 270 | if ((xfs_sb_version_hascrc(&mp->m_sb) && | 269 | if (xfs_sb_version_hascrc(&mp->m_sb) && |
| 271 | !xfs_verify_cksum(bp->b_addr, BBTOB(bp->b_length), | 270 | !xfs_buf_verify_cksum(bp, XFS_DIR3_DATA_CRC_OFF)) |
| 272 | XFS_DIR3_DATA_CRC_OFF)) || | 271 | xfs_buf_ioerror(bp, EFSBADCRC); |
| 273 | !xfs_dir3_data_verify(bp)) { | 272 | else if (!xfs_dir3_data_verify(bp)) |
| 274 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, bp->b_addr); | ||
| 275 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 273 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
| 276 | } | 274 | |
| 275 | if (bp->b_error) | ||
| 276 | xfs_verifier_error(bp); | ||
| 277 | } | 277 | } |
| 278 | 278 | ||
| 279 | static void | 279 | static void |
| @@ -285,8 +285,8 @@ xfs_dir3_data_write_verify( | |||
| 285 | struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; | 285 | struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; |
| 286 | 286 | ||
| 287 | if (!xfs_dir3_data_verify(bp)) { | 287 | if (!xfs_dir3_data_verify(bp)) { |
| 288 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, bp->b_addr); | ||
| 289 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 288 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
| 289 | xfs_verifier_error(bp); | ||
| 290 | return; | 290 | return; |
| 291 | } | 291 | } |
| 292 | 292 | ||
| @@ -296,7 +296,7 @@ xfs_dir3_data_write_verify( | |||
| 296 | if (bip) | 296 | if (bip) |
| 297 | hdr3->lsn = cpu_to_be64(bip->bli_item.li_lsn); | 297 | hdr3->lsn = cpu_to_be64(bip->bli_item.li_lsn); |
| 298 | 298 | ||
| 299 | xfs_update_cksum(bp->b_addr, BBTOB(bp->b_length), XFS_DIR3_DATA_CRC_OFF); | 299 | xfs_buf_update_cksum(bp, XFS_DIR3_DATA_CRC_OFF); |
| 300 | } | 300 | } |
| 301 | 301 | ||
| 302 | const struct xfs_buf_ops xfs_dir3_data_buf_ops = { | 302 | const struct xfs_buf_ops xfs_dir3_data_buf_ops = { |
