projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
usb: gadget: goku: remove unused argument
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
mm
/
readahead.c
diff --git
a/mm/readahead.c
b/mm/readahead.c
index
e4ed041
..
7cdbb44
100644
(file)
--- a/
mm/readahead.c
+++ b/
mm/readahead.c
@@
-401,6
+401,7
@@
ondemand_readahead(struct address_space *mapping,
unsigned long req_size)
{
unsigned long max = max_sane_readahead(ra->ra_pages);
unsigned long req_size)
{
unsigned long max = max_sane_readahead(ra->ra_pages);
+ pgoff_t prev_offset;
/*
* start of file
/*
* start of file
@@
-452,8
+453,11
@@
ondemand_readahead(struct address_space *mapping,
/*
* sequential cache miss
/*
* sequential cache miss
+ * trivial case: (offset - prev_offset) == 1
+ * unaligned reads: (offset - prev_offset) == 0
*/
*/
- if (offset - (ra->prev_pos >> PAGE_CACHE_SHIFT) <= 1UL)
+ prev_offset = (unsigned long long)ra->prev_pos >> PAGE_CACHE_SHIFT;
+ if (offset - prev_offset <= 1UL)
goto initial_readahead;
/*
goto initial_readahead;
/*
@@
-569,7
+573,7
@@
static ssize_t
do_readahead(struct address_space *mapping, struct file *filp,
pgoff_t index, unsigned long nr)
{
do_readahead(struct address_space *mapping, struct file *filp,
pgoff_t index, unsigned long nr)
{
- if (!mapping || !mapping->a_ops
|| !mapping->a_ops->readpage
)
+ if (!mapping || !mapping->a_ops)
return -EINVAL;
force_page_cache_readahead(mapping, filp, index, nr);
return -EINVAL;
force_page_cache_readahead(mapping, filp, index, nr);