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 /fs/xfs | |
parent | 5ef11eb0700f806c4671ba33e5befa784a2f70ef (diff) | |
download | linux-e0d2c23a253149b4f8a6100f94ca62ddc4b2ae84.tar.gz linux-e0d2c23a253149b4f8a6100f94ca62ddc4b2ae84.tar.bz2 linux-e0d2c23a253149b4f8a6100f94ca62ddc4b2ae84.zip |
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>
Diffstat (limited to 'fs/xfs')
-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 13085429e523..144d3b0855fb 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 c8fa5bbb36de..0028c50c1e2b 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); |