diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2007-05-08 08:46:19 +0200 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-05-08 08:46:19 +0200 |
commit | 86aa5ac53e478c94ee39a15b6eadde1ed1317be3 (patch) | |
tree | 192b65a582b38e51584519461112ba56f533519f | |
parent | 9ae9d68cbf3fe0ec17c17c9ecaa2188ffb854a66 (diff) | |
download | op-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>
-rw-r--r-- | fs/splice.c | 8 |
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: |