diff options
author | Jens Axboe <axboe@suse.de> | 2006-05-01 19:59:54 +0200 |
---|---|---|
committer | Jens Axboe <axboe@suse.de> | 2006-05-01 19:59:54 +0200 |
commit | e27dedd84c119e2f7af54fcde3293be5ad812103 (patch) | |
tree | b388be80b04dd3f04c07ec12955e62f8ccb58bbc /fs/splice.c | |
parent | 7f9c51f0d9783c78db5c2aa16806d0c256ac667f (diff) | |
download | op-kernel-dev-e27dedd84c119e2f7af54fcde3293be5ad812103.zip op-kernel-dev-e27dedd84c119e2f7af54fcde3293be5ad812103.tar.gz |
[PATCH] splice: call handle_ra_miss() on failure to lookup page
Notify the readahead logic of the missing page. Suggested by
Oleg Nesterov.
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'fs/splice.c')
-rw-r--r-- | fs/splice.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/splice.c b/fs/splice.c index d7538d8..0a69164 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -302,6 +302,12 @@ __generic_file_splice_read(struct file *in, loff_t *ppos, page = find_get_page(mapping, index); if (!page) { /* + * Make sure the read-ahead engine is notified + * about this failure. + */ + handle_ra_miss(mapping, &in->f_ra, index); + + /* * page didn't exist, allocate one. */ page = page_cache_alloc_cold(mapping); |