If we grow the readahead window, we should tell the ondemand algorithm that we've grown it, so that the next readahead starts at the right place. Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> --- mm/readahead.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/readahead.c b/mm/readahead.c index e115b1174981..65215c48f25c 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -661,6 +661,7 @@ void readahead_expand(struct readahead_control *ractl, loff_t new_start, size_t new_len) { struct address_space *mapping = ractl->mapping; + struct file_ra_state *ra = ractl->ra; pgoff_t new_index, new_nr_pages; gfp_t gfp_mask = readahead_gfp_mask(mapping); @@ -705,6 +706,8 @@ void readahead_expand(struct readahead_control *ractl, return; } ractl->_nr_pages++; + ra->size++; + ra->async_size++; } } EXPORT_SYMBOL(readahead_expand); -- 2.30.2