|
@@ -182,14 +182,11 @@ static int read_pages(struct address_space *mapping, struct file *filp,
|
|
|
list_del(&page->lru);
|
|
|
if (!add_to_page_cache(page, mapping,
|
|
|
page->index, GFP_KERNEL)) {
|
|
|
- ret = mapping->a_ops->readpage(filp, page);
|
|
|
- if (ret != AOP_TRUNCATED_PAGE) {
|
|
|
- if (!pagevec_add(&lru_pvec, page))
|
|
|
- __pagevec_lru_add(&lru_pvec);
|
|
|
- continue;
|
|
|
- } /* else fall through to release */
|
|
|
- }
|
|
|
- page_cache_release(page);
|
|
|
+ mapping->a_ops->readpage(filp, page);
|
|
|
+ if (!pagevec_add(&lru_pvec, page))
|
|
|
+ __pagevec_lru_add(&lru_pvec);
|
|
|
+ } else
|
|
|
+ page_cache_release(page);
|
|
|
}
|
|
|
pagevec_lru_add(&lru_pvec);
|
|
|
ret = 0;
|