diff --git a/[refs] b/[refs] index 2d45efe5bf51..d59d52b0ed4e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 55602dd66f5353981b53f734e26c307f310ced37 +refs/heads/master: 5b417b1873694ece3291d7f64a943304559a817b diff --git a/trunk/mm/readahead.c b/trunk/mm/readahead.c index cbddc3e17246..2c0cc489e288 100644 --- a/trunk/mm/readahead.c +++ b/trunk/mm/readahead.c @@ -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; }