On Thu, Jul 30, 2015 at 10:53:19AM +0800, Huang Ying wrote:
> FYI, we noticed the below changes on

This should fix it:


diff --git a/fs/direct-io.c b/fs/direct-io.c
index e1639c8..31b2d35 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -458,9 +458,10 @@ static struct bio *dio_await_one(struct dio *dio)
 static int dio_bio_complete(struct dio *dio, struct bio *bio)
 {
        struct bio_vec *bvec;
+       int error = bio->bi_error;
        unsigned i;
 
-       if (bio->bi_error)
+       if (error)
                dio->io_error = -EIO;
 
        if (dio->is_async && dio->rw == READ) {
@@ -475,7 +476,7 @@ static int dio_bio_complete(struct dio *dio, struct bio 
*bio)
                }
                bio_put(bio);
        }
-       return bio->bi_error;
+       return error;
 }
 
 /*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to