aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-07-10 19:34:30 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-07-10 19:34:30 -0700
commit087701ef405d90b391b26bd5db9168b4f3c3c0d6 (patch)
treeb69549114d68881a751afeb86c28363e1c2d52b4 /mm
parentc0f0c1663a475e933fc90a4a563be135bbfd7015 (diff)
downloadhistory-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.c9
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)