aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-12-11 23:27:25 -0500
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-12-11 23:27:25 -0500
commitcfbe52672fbc6f333892e8dde82c35e0a76aa5f5 (patch)
treefa2b867d97f55a138f0bf59cadb804f40057465a /fs/xfs
parent14d676f56fad26fd3c31eeff5d4ef8ea4a163571 (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.c3
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;