diff options
Diffstat (limited to 'fs/xfs/xfs_dir2_node.c')
-rw-r--r-- | fs/xfs/xfs_dir2_node.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/xfs/xfs_dir2_node.c b/fs/xfs/xfs_dir2_node.c index 48c7d18f68c3..cb434d732681 100644 --- a/fs/xfs/xfs_dir2_node.c +++ b/fs/xfs/xfs_dir2_node.c | |||
@@ -115,13 +115,14 @@ xfs_dir3_free_read_verify( | |||
115 | { | 115 | { |
116 | struct xfs_mount *mp = bp->b_target->bt_mount; | 116 | struct xfs_mount *mp = bp->b_target->bt_mount; |
117 | 117 | ||
118 | if ((xfs_sb_version_hascrc(&mp->m_sb) && | 118 | if (xfs_sb_version_hascrc(&mp->m_sb) && |
119 | !xfs_verify_cksum(bp->b_addr, BBTOB(bp->b_length), | 119 | !xfs_buf_verify_cksum(bp, XFS_DIR3_FREE_CRC_OFF)) |
120 | XFS_DIR3_FREE_CRC_OFF)) || | 120 | xfs_buf_ioerror(bp, EFSBADCRC); |
121 | !xfs_dir3_free_verify(bp)) { | 121 | else if (!xfs_dir3_free_verify(bp)) |
122 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, bp->b_addr); | ||
123 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 122 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
124 | } | 123 | |
124 | if (bp->b_error) | ||
125 | xfs_verifier_error(bp); | ||
125 | } | 126 | } |
126 | 127 | ||
127 | static void | 128 | static void |
@@ -133,8 +134,8 @@ xfs_dir3_free_write_verify( | |||
133 | struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; | 134 | struct xfs_dir3_blk_hdr *hdr3 = bp->b_addr; |
134 | 135 | ||
135 | if (!xfs_dir3_free_verify(bp)) { | 136 | if (!xfs_dir3_free_verify(bp)) { |
136 | XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, bp->b_addr); | ||
137 | xfs_buf_ioerror(bp, EFSCORRUPTED); | 137 | xfs_buf_ioerror(bp, EFSCORRUPTED); |
138 | xfs_verifier_error(bp); | ||
138 | return; | 139 | return; |
139 | } | 140 | } |
140 | 141 | ||
@@ -144,7 +145,7 @@ xfs_dir3_free_write_verify( | |||
144 | if (bip) | 145 | if (bip) |
145 | hdr3->lsn = cpu_to_be64(bip->bli_item.li_lsn); | 146 | hdr3->lsn = cpu_to_be64(bip->bli_item.li_lsn); |
146 | 147 | ||
147 | xfs_update_cksum(bp->b_addr, BBTOB(bp->b_length), XFS_DIR3_FREE_CRC_OFF); | 148 | xfs_buf_update_cksum(bp, XFS_DIR3_FREE_CRC_OFF); |
148 | } | 149 | } |
149 | 150 | ||
150 | const struct xfs_buf_ops xfs_dir3_free_buf_ops = { | 151 | const struct xfs_buf_ops xfs_dir3_free_buf_ops = { |