Commit e5a59d30 authored by David Howells's avatar David Howells Committed by Linus Torvalds

mm/khugepaged.c: fix khugepaged's request size in collapse_file

collapse_file() in khugepaged passes PAGE_SIZE as the number of pages to
be read to page_cache_sync_readahead().  The intent was probably to read
a single page.  Fix it to use the number of pages to the end of the
window instead.

Fixes: 99cb0dbd ("mm,thp: add read-only THP support for (non-shmem) FS")
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: default avatarSong Liu <songliubraving@fb.com>
Acked-by: default avatarYang Shi <shy828301@gmail.com>
Acked-by: default avatarPankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: Eric Biggers <ebiggers@google.com>
Link: https://lkml.kernel.org/r/20200903140844.14194-2-willy@infradead.orgSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 17743798
...@@ -1709,7 +1709,7 @@ static void collapse_file(struct mm_struct *mm, ...@@ -1709,7 +1709,7 @@ static void collapse_file(struct mm_struct *mm,
xas_unlock_irq(&xas); xas_unlock_irq(&xas);
page_cache_sync_readahead(mapping, &file->f_ra, page_cache_sync_readahead(mapping, &file->f_ra,
file, index, file, index,
PAGE_SIZE); end - index);
/* drain pagevecs to help isolate_lru_page() */ /* drain pagevecs to help isolate_lru_page() */
lru_add_drain(); lru_add_drain();
page = find_lock_page(mapping, index); page = find_lock_page(mapping, index);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment