|
@@ -79,8 +79,11 @@ static int mpage_end_io_write(struct bio *bio, unsigned int bytes_done, int err)
|
|
if (--bvec >= bio->bi_io_vec)
|
|
if (--bvec >= bio->bi_io_vec)
|
|
prefetchw(&bvec->bv_page->flags);
|
|
prefetchw(&bvec->bv_page->flags);
|
|
|
|
|
|
- if (!uptodate)
|
|
|
|
|
|
+ if (!uptodate){
|
|
SetPageError(page);
|
|
SetPageError(page);
|
|
|
|
+ if (page->mapping)
|
|
|
|
+ set_bit(AS_EIO, &page->mapping->flags);
|
|
|
|
+ }
|
|
end_page_writeback(page);
|
|
end_page_writeback(page);
|
|
} while (bvec >= bio->bi_io_vec);
|
|
} while (bvec >= bio->bi_io_vec);
|
|
bio_put(bio);
|
|
bio_put(bio);
|