xfs: don't verify buffers after IO errors
When we read a buffer, we might get an error from the underlying block device and not the real data. Hence if we get an IO error, we shouldn't run the verifier but instead just pass the IO error straight through. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
e8108cedb1
commit
d5929de833
1 changed files with 3 additions and 1 deletions
|
@ -1022,7 +1022,9 @@ xfs_buf_iodone_work(
|
|||
bool read = !!(bp->b_flags & XBF_READ);
|
||||
|
||||
bp->b_flags &= ~(XBF_READ | XBF_WRITE | XBF_READ_AHEAD);
|
||||
if (read && bp->b_ops)
|
||||
|
||||
/* only validate buffers that were read without errors */
|
||||
if (read && bp->b_ops && !bp->b_error && (bp->b_flags & XBF_DONE))
|
||||
bp->b_ops->verify_read(bp);
|
||||
|
||||
if (bp->b_iodone)
|
||||
|
|
Loading…
Reference in a new issue