summaryrefslogtreecommitdiffstats
path: root/fs/splice.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-05-08 08:46:19 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-05-08 08:46:19 +0200
commit86aa5ac53e478c94ee39a15b6eadde1ed1317be3 (patch)
tree192b65a582b38e51584519461112ba56f533519f /fs/splice.c
parent9ae9d68cbf3fe0ec17c17c9ecaa2188ffb854a66 (diff)
downloadop-kernel-dev-86aa5ac53e478c94ee39a15b6eadde1ed1317be3.zip
op-kernel-dev-86aa5ac53e478c94ee39a15b6eadde1ed1317be3.tar.gz
[PATCH] splice: always call into page_cache_readahead()
Don't try to guess what the read-ahead logic will do, allow it to make its own decisions. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/splice.c')
-rw-r--r--fs/splice.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/splice.c b/fs/splice.c
index 2282650..12f2828 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -289,12 +289,10 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
nr_pages = PIPE_BUFFERS;
/*
- * Initiate read-ahead on this page range. however, don't call into
- * read-ahead if this is a non-zero offset (we are likely doing small
- * chunk splice and the page is already there) for a single page.
+ * Don't try to 2nd guess the read-ahead logic, call into
+ * page_cache_readahead() like the page cache reads would do.
*/
- if (!loff || nr_pages > 1)
- page_cache_readahead(mapping, &in->f_ra, in, index, nr_pages);
+ page_cache_readahead(mapping, &in->f_ra, in, index, nr_pages);
/*
* Now fill in the holes:
OpenPOWER on IntegriCloud