Signed-off-by: Ming Lei <tom.leim...@gmail.com> --- fs/direct-io.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/direct-io.c b/fs/direct-io.c index fb9aa16a7727..cfad1ac8fa53 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -487,7 +487,9 @@ static int dio_bio_complete(struct dio *dio, struct bio *bio) err = bio->bi_error; bio_check_pages_dirty(bio); /* transfers ownership */ } else { - bio_for_each_segment_all(bvec, bio, i) { + struct bvec_iter_all bia; + + bio_for_each_segment_all_rd(bvec, bio, i, bia) { struct page *page = bvec->bv_page; if (dio->op == REQ_OP_READ && !PageCompound(page) && -- 2.7.4