|
@@ -211,8 +211,6 @@ out:
|
|
|
int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
pgoff_t offset, unsigned long nr_to_read)
|
|
|
{
|
|
|
- int ret = 0;
|
|
|
-
|
|
|
if (unlikely(!mapping->a_ops->readpage && !mapping->a_ops->readpages))
|
|
|
return -EINVAL;
|
|
|
|
|
@@ -226,15 +224,13 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
|
|
|
this_chunk = nr_to_read;
|
|
|
err = __do_page_cache_readahead(mapping, filp,
|
|
|
offset, this_chunk, 0);
|
|
|
- if (err < 0) {
|
|
|
- ret = err;
|
|
|
- break;
|
|
|
- }
|
|
|
- ret += err;
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+
|
|
|
offset += this_chunk;
|
|
|
nr_to_read -= this_chunk;
|
|
|
}
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -576,8 +572,7 @@ do_readahead(struct address_space *mapping, struct file *filp,
|
|
|
if (!mapping || !mapping->a_ops)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- force_page_cache_readahead(mapping, filp, index, nr);
|
|
|
- return 0;
|
|
|
+ return force_page_cache_readahead(mapping, filp, index, nr);
|
|
|
}
|
|
|
|
|
|
SYSCALL_DEFINE3(readahead, int, fd, loff_t, offset, size_t, count)
|