diff options
author | Andrew Morton <akpm@osdl.org> | 2004-07-10 19:34:30 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-07-10 19:34:30 -0700 |
commit | 087701ef405d90b391b26bd5db9168b4f3c3c0d6 (patch) | |
tree | b69549114d68881a751afeb86c28363e1c2d52b4 /mm | |
parent | c0f0c1663a475e933fc90a4a563be135bbfd7015 (diff) | |
download | history-087701ef405d90b391b26bd5db9168b4f3c3c0d6.tar.gz |
[PATCH] pagefault readaround fix
Mika Kukkonen <mika@osdl.org> says:
CC mm/filemap.o
mm/filemap.c: In function `filemap_nopage':
mm/filemap.c:1161: warning: comparison of unsigned expression < 0 is always false
The pagefault readaround code is currently doing purely readahead.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 99a858500f12fd..087e0525b967d7 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1155,12 +1155,11 @@ retry_find: did_readaround = 1; ra_pages = max_sane_readahead(file->f_ra.ra_pages); if (ra_pages) { - long start; + pgoff_t start = 0; - start = pgoff - ra_pages / 2; - if (pgoff < 0) - pgoff = 0; - do_page_cache_readahead(mapping, file, pgoff, ra_pages); + if (pgoff > ra_pages / 2) + start = pgoff - ra_pages / 2; + do_page_cache_readahead(mapping, file, start, ra_pages); } page = find_get_page(mapping, pgoff); if (!page) |