summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorRusty Russell2007-07-19 10:48:08 +0200
committerLinus Torvalds2007-07-19 19:04:44 +0200
commitcf914a7d656e62b9dd3e0dffe4f62b953ae6048d (patch)
treebaf7e79de006ca80eac426d2d1be4c52f5f19624 /fs
parentmm: share PG_readahead and PG_reclaim (diff)
downloadkernel-qcow2-linux-cf914a7d656e62b9dd3e0dffe4f62b953ae6048d.tar.gz
kernel-qcow2-linux-cf914a7d656e62b9dd3e0dffe4f62b953ae6048d.tar.xz
kernel-qcow2-linux-cf914a7d656e62b9dd3e0dffe4f62b953ae6048d.zip
readahead: split ondemand readahead interface into two functions
Split ondemand readahead interface into two functions. I think this makes it a little clearer for non-readahead experts (like Rusty). Internally they both call ondemand_readahead(), but the page argument is changed to an obvious boolean flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext3/dir.c4
-rw-r--r--fs/ext4/dir.c4
-rw-r--r--fs/splice.c6
3 files changed, 7 insertions, 7 deletions
diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
index 3c6d384a2c66..c00723a99f44 100644
--- a/fs/ext3/dir.c
+++ b/fs/ext3/dir.c
@@ -139,10 +139,10 @@ static int ext3_readdir(struct file * filp,
pgoff_t index = map_bh.b_blocknr >>
(PAGE_CACHE_SHIFT - inode->i_blkbits);
if (!ra_has_index(&filp->f_ra, index))
- page_cache_readahead_ondemand(
+ page_cache_sync_readahead(
sb->s_bdev->bd_inode->i_mapping,
&filp->f_ra, filp,
- NULL, index, 1);
+ index, 1);
filp->f_ra.prev_index = index;
bh = ext3_bread(NULL, inode, blk, 0, &err);
}
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 0a872a09fed8..3ab01c04e00c 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -138,10 +138,10 @@ static int ext4_readdir(struct file * filp,
pgoff_t index = map_bh.b_blocknr >>
(PAGE_CACHE_SHIFT - inode->i_blkbits);
if (!ra_has_index(&filp->f_ra, index))
- page_cache_readahead_ondemand(
+ page_cache_sync_readahead(
sb->s_bdev->bd_inode->i_mapping,
&filp->f_ra, filp,
- NULL, index, 1);
+ index, 1);
filp->f_ra.prev_index = index;
bh = ext4_bread(NULL, inode, blk, 0, &err);
}
diff --git a/fs/splice.c b/fs/splice.c
index 6ddd0329f866..22496d2a73fa 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -295,8 +295,8 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
* readahead/allocate the rest and fill in the holes.
*/
if (spd.nr_pages < nr_pages)
- page_cache_readahead_ondemand(mapping, &in->f_ra, in,
- NULL, index, req_pages - spd.nr_pages);
+ page_cache_sync_readahead(mapping, &in->f_ra, in,
+ index, req_pages - spd.nr_pages);
error = 0;
while (spd.nr_pages < nr_pages) {
@@ -352,7 +352,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos,
page = pages[page_nr];
if (PageReadahead(page))
- page_cache_readahead_ondemand(mapping, &in->f_ra, in,
+ page_cache_async_readahead(mapping, &in->f_ra, in,
page, index, req_pages - page_nr);
/*