diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-11 23:27:25 -0500 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-11 23:27:25 -0500 |
commit | cfbe52672fbc6f333892e8dde82c35e0a76aa5f5 (patch) | |
tree | fa2b867d97f55a138f0bf59cadb804f40057465a /fs/xfs | |
parent | 14d676f56fad26fd3c31eeff5d4ef8ea4a163571 (diff) |
[XFS] set b_error from bio error in xfs_buf_bio_end_io
Preserve any error returned by the bio layer.
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index cd89c56715a5..aae8d0768eca 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c | |||
@@ -1126,8 +1126,7 @@ xfs_buf_bio_end_io( | |||
1126 | unsigned int blocksize = bp->b_target->bt_bsize; | 1126 | unsigned int blocksize = bp->b_target->bt_bsize; |
1127 | struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1; | 1127 | struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1; |
1128 | 1128 | ||
1129 | if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) | 1129 | xfs_buf_ioerror(bp, -error); |
1130 | bp->b_error = EIO; | ||
1131 | 1130 | ||
1132 | do { | 1131 | do { |
1133 | struct page *page = bvec->bv_page; | 1132 | struct page *page = bvec->bv_page; |