提交 0b749ce3 编写于 作者: J Jens Axboe

[PATCH] splice: be smarter about calling do_page_cache_readahead()

We don't want to call into the read-ahead logic unless we are at the
start of a page, _or_ we have multiple pages to read.
Signed-off-by: NJens Axboe <axboe@suse.de>
上级 49d0b21b
......@@ -250,9 +250,12 @@ static int __generic_file_splice_read(struct file *in, struct inode *pipe,
nr_pages = PIPE_BUFFERS;
/*
* initiate read-ahead on this page range
* 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.
*/
do_page_cache_readahead(mapping, in, index, nr_pages);
if (!offset || nr_pages > 1)
do_page_cache_readahead(mapping, in, index, nr_pages);
/*
* now fill in the holes
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册