From: Wu Fengguang *remain in query_page_cache_segment() is over counted by 1, fix it. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton --- mm/readahead.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN mm/readahead.c~readahead-context-based-method-fix-remain-counting mm/readahead.c --- devel/mm/readahead.c~readahead-context-based-method-fix-remain-counting 2006-06-09 01:22:46.000000000 -0700 +++ devel-akpm/mm/readahead.c 2006-06-09 01:22:46.000000000 -0700 @@ -1335,7 +1335,7 @@ static unsigned long query_page_cache_se index = radix_tree_scan_hole_backward(&mapping->page_tree, offset - 1, ra_max); - *remain = offset - index; + *remain = (offset - 1) - index; if (offset == ra->readahead_index && ra_cache_hit_ok(ra)) count = *remain; _