|
@@ -147,16 +147,16 @@ out:
|
|
|
*
|
|
|
* Returns the number of pages requested, or the maximum amount of I/O allowed.
|
|
|
*/
|
|
|
-int __do_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
- pgoff_t offset, unsigned long nr_to_read,
|
|
|
- unsigned long lookahead_size)
|
|
|
+unsigned int __do_page_cache_readahead(struct address_space *mapping,
|
|
|
+ struct file *filp, pgoff_t offset, unsigned long nr_to_read,
|
|
|
+ unsigned long lookahead_size)
|
|
|
{
|
|
|
struct inode *inode = mapping->host;
|
|
|
struct page *page;
|
|
|
unsigned long end_index; /* The last page we want to read */
|
|
|
LIST_HEAD(page_pool);
|
|
|
int page_idx;
|
|
|
- int nr_pages = 0;
|
|
|
+ unsigned int nr_pages = 0;
|
|
|
loff_t isize = i_size_read(inode);
|
|
|
gfp_t gfp_mask = readahead_gfp_mask(mapping);
|
|
|
|
|
@@ -223,16 +223,11 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
max_pages = max_t(unsigned long, bdi->io_pages, ra->ra_pages);
|
|
|
nr_to_read = min(nr_to_read, max_pages);
|
|
|
while (nr_to_read) {
|
|
|
- int err;
|
|
|
-
|
|
|
unsigned long this_chunk = (2 * 1024 * 1024) / PAGE_SIZE;
|
|
|
|
|
|
if (this_chunk > nr_to_read)
|
|
|
this_chunk = nr_to_read;
|
|
|
- err = __do_page_cache_readahead(mapping, filp,
|
|
|
- offset, this_chunk, 0);
|
|
|
- if (err < 0)
|
|
|
- return err;
|
|
|
+ __do_page_cache_readahead(mapping, filp, offset, this_chunk, 0);
|
|
|
|
|
|
offset += this_chunk;
|
|
|
nr_to_read -= this_chunk;
|