|
@@ -356,7 +356,8 @@ xfs_end_bio(
|
|
{
|
|
{
|
|
xfs_ioend_t *ioend = bio->bi_private;
|
|
xfs_ioend_t *ioend = bio->bi_private;
|
|
|
|
|
|
- ioend->io_error = test_bit(BIO_UPTODATE, &bio->bi_flags) ? 0 : error;
|
|
|
|
|
|
+ if (!ioend->io_error && !test_bit(BIO_UPTODATE, &bio->bi_flags))
|
|
|
|
+ ioend->io_error = error;
|
|
|
|
|
|
/* Toss bio and pass work off to an xfsdatad thread */
|
|
/* Toss bio and pass work off to an xfsdatad thread */
|
|
bio->bi_private = NULL;
|
|
bio->bi_private = NULL;
|