Mika Kukkonen 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 --- 25-akpm/mm/filemap.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff -puN mm/filemap.c~pagefault-readaround-fix mm/filemap.c --- 25/mm/filemap.c~pagefault-readaround-fix Wed Jul 7 14:38:57 2004 +++ 25-akpm/mm/filemap.c Wed Jul 7 14:42:10 2004 @@ -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) _