|
@@ -213,7 +213,7 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
if (unlikely(!mapping->a_ops->readpage && !mapping->a_ops->readpages))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- nr_to_read = max_sane_readahead(nr_to_read);
|
|
|
+ nr_to_read = min(nr_to_read, inode_to_bdi(mapping->host)->ra_pages);
|
|
|
while (nr_to_read) {
|
|
|
int err;
|
|
|
|
|
@@ -232,16 +232,6 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-#define MAX_READAHEAD ((512*4096)/PAGE_CACHE_SIZE)
|
|
|
-/*
|
|
|
- * Given a desired number of PAGE_CACHE_SIZE readahead pages, return a
|
|
|
- * sensible upper limit.
|
|
|
- */
|
|
|
-unsigned long max_sane_readahead(unsigned long nr)
|
|
|
-{
|
|
|
- return min(nr, MAX_READAHEAD);
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Set the initial window size, round to next power of 2 and square
|
|
|
* for small size, x 4 for medium, and x 2 for large
|
|
@@ -380,7 +370,7 @@ ondemand_readahead(struct address_space *mapping,
|
|
|
bool hit_readahead_marker, pgoff_t offset,
|
|
|
unsigned long req_size)
|
|
|
{
|
|
|
- unsigned long max = max_sane_readahead(ra->ra_pages);
|
|
|
+ unsigned long max = ra->ra_pages;
|
|
|
pgoff_t prev_offset;
|
|
|
|
|
|
/*
|