|
@@ -109,9 +109,12 @@ EXPORT_SYMBOL(read_cache_pages);
|
|
|
static int read_pages(struct address_space *mapping, struct file *filp,
|
|
|
struct list_head *pages, unsigned nr_pages)
|
|
|
{
|
|
|
+ struct blk_plug plug;
|
|
|
unsigned page_idx;
|
|
|
int ret;
|
|
|
|
|
|
+ blk_start_plug(&plug);
|
|
|
+
|
|
|
if (mapping->a_ops->readpages) {
|
|
|
ret = mapping->a_ops->readpages(filp, mapping, pages, nr_pages);
|
|
|
/* Clean up the remaining pages */
|
|
@@ -129,7 +132,10 @@ static int read_pages(struct address_space *mapping, struct file *filp,
|
|
|
page_cache_release(page);
|
|
|
}
|
|
|
ret = 0;
|
|
|
+
|
|
|
out:
|
|
|
+ blk_finish_plug(&plug);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|