From: Ram Pai I have attached a incremental patch. This patch is generated w.r.t to your attached readahead.c Tested it and verified that it has no side effects. Thanks Suparna for the nice suggestion. 25-akpm/mm/readahead.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff -puN mm/readahead.c~readahead-simplification mm/readahead.c --- 25/mm/readahead.c~readahead-simplification Thu Oct 30 12:32:58 2003 +++ 25-akpm/mm/readahead.c Thu Oct 30 12:32:58 2003 @@ -454,11 +454,10 @@ do_io: * in the next current window, read in * an extra page. */ - ra->size = preoffset - ra->start + 2; - } else { - ra->size = ra->next_size; + ra->next_size = preoffset - ra->start + 2; } ra->start = offset; + ra->size = ra->next_size; ra->ahead_start = 0; /* Invalidate these */ ra->ahead_size = 0; actual = do_page_cache_readahead(mapping, filp, offset, _