diff --git a/mm/readahead.c b/mm/readahead.c
index 56731158309b3c0415e105b615dfde18707c301e..16378b90843eccad3b5ec76da1565672a6577b3b 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -403,6 +403,7 @@ ondemand_readahead(struct address_space *mapping,
 
 		ra->start = start;
 		ra->size = start - offset;	/* old async_size */
+		ra->size += req_size;
 		ra->size = get_next_ra_size(ra, max);
 		ra->async_size = ra->size;
 		goto readit;