diff options
author | Jens Axboe <jaxboe@fusionio.com> | 2010-04-19 10:04:38 +0200 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-03-10 08:52:26 +0100 |
commit | 5b417b1873694ece3291d7f64a943304559a817b (patch) | |
tree | 156662430fb4fb5341547dec736628424bbddb1a /mm/readahead.c | |
parent | 55602dd66f5353981b53f734e26c307f310ced37 (diff) | |
download | kernel-common-5b417b1873694ece3291d7f64a943304559a817b.tar.gz kernel-common-5b417b1873694ece3291d7f64a943304559a817b.tar.bz2 kernel-common-5b417b1873694ece3291d7f64a943304559a817b.zip |
read-ahead: use plugging
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'mm/readahead.c')
-rw-r--r-- | mm/readahead.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/readahead.c b/mm/readahead.c index cbddc3e17246..2c0cc489e288 100644 --- a/mm/readahead.c +++ b/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; } |