diff -purN -X /home/mbligh/.diff.exclude 170-readahead_fixes/mm/readahead.c 171-readahead_simplify/mm/readahead.c
--- 170-readahead_fixes/mm/readahead.c	2003-12-11 17:10:08.000000000 -0800
+++ 171-readahead_simplify/mm/readahead.c	2003-12-11 17:10:40.000000000 -0800
@@ -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,