[PATCH] splice: always call into page_cache_readahead()
authorJens Axboe <jens.axboe@oracle.com>
Tue, 8 May 2007 06:46:19 +0000 (08:46 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 8 May 2007 06:46:19 +0000 (08:46 +0200)
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>
fs/splice.c

index 2282650bdbe89822b124ec2ad537a84dcd65122e..12f28281d2b1e1f8d1627995f03efcfeb25a4945 100644 (file)
@@ -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: