diff options
Diffstat (limited to 'fs/xfs/xfs_buf.c')
| -rw-r--r-- | fs/xfs/xfs_buf.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 4e8f0df82d0..8459b5d8cb7 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1334,6 +1334,12 @@ _xfs_buf_ioapply(  	int		size;  	int		i; +	/* +	 * Make sure we capture only current IO errors rather than stale errors +	 * left over from previous use of the buffer (e.g. failed readahead). +	 */ +	bp->b_error = 0; +  	if (bp->b_flags & XBF_WRITE) {  		if (bp->b_flags & XBF_SYNCIO)  			rw = WRITE_SYNC; |