|
@@ -371,10 +371,10 @@ static int try_context_readahead(struct address_space *mapping,
|
|
size = count_history_pages(mapping, ra, offset, max);
|
|
size = count_history_pages(mapping, ra, offset, max);
|
|
|
|
|
|
/*
|
|
/*
|
|
- * no history pages:
|
|
|
|
|
|
+ * not enough history pages:
|
|
* it could be a random read
|
|
* it could be a random read
|
|
*/
|
|
*/
|
|
- if (!size)
|
|
|
|
|
|
+ if (size <= req_size)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -385,8 +385,8 @@ static int try_context_readahead(struct address_space *mapping,
|
|
size *= 2;
|
|
size *= 2;
|
|
|
|
|
|
ra->start = offset;
|
|
ra->start = offset;
|
|
- ra->size = get_init_ra_size(size + req_size, max);
|
|
|
|
- ra->async_size = ra->size;
|
|
|
|
|
|
+ ra->size = min(size + req_size, max);
|
|
|
|
+ ra->async_size = 1;
|
|
|
|
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|