diff options
author | Eric Sandeen <sandeen@redhat.com> | 2014-02-27 15:14:31 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2014-02-27 15:14:31 +1100 |
commit | e0d2c23a253149b4f8a6100f94ca62ddc4b2ae84 (patch) | |
tree | bc122db2c8798f719e48a3713c0a2b9fb00b1a20 | |
parent | 5ef11eb0700f806c4671ba33e5befa784a2f70ef (diff) |
xfs: skip pointless CRC updates after verifier failures
Most write verifiers don't update CRCs after the verifier
has failed and the buffer has been marked in error. These
two didn't, but should.
Add returns to the verifier failure block, since the buffer
won't be written anyway.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
-rw-r--r-- | fs/xfs/xfs_alloc_btree.c | 1 | ||||
-rw-r--r-- | fs/xfs/xfs_ialloc_btree.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/xfs_alloc_btree.c b/fs/xfs/xfs_alloc_btree.c index 13085429e52..144d3b0855f 100644 --- a/fs/xfs/xfs_alloc_btree.c +++ b/fs/xfs/xfs_alloc_btree.c @@ -373,6 +373,7 @@ xfs_allocbt_write_verify( XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, bp->b_target->bt_mount, bp->b_addr); xfs_buf_ioerror(bp, EFSCORRUPTED); + return; } xfs_btree_sblock_calc_crc(bp); diff --git a/fs/xfs/xfs_ialloc_btree.c b/fs/xfs/xfs_ialloc_btree.c index c8fa5bbb36d..0028c50c1e2 100644 --- a/fs/xfs/xfs_ialloc_btree.c +++ b/fs/xfs/xfs_ialloc_btree.c @@ -261,6 +261,7 @@ xfs_inobt_write_verify( XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, bp->b_target->bt_mount, bp->b_addr); xfs_buf_ioerror(bp, EFSCORRUPTED); + return; } xfs_btree_sblock_calc_crc(bp); |