Commit 4e99325b authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Linus Torvalds

mm: double mark_page_accessed() in read_cache_page_async()

Fix a post-2.6.21 regression.

read_cache_page_async() has two invocations of mark_page_accessed() which will
launch pages right onto the active list.

Remove the first one, keeping the latter one.  This avoids marking unwanted
pages active (in the retry loop).
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: default avatarNick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 95511ad4
...@@ -1786,7 +1786,6 @@ struct page *read_cache_page_async(struct address_space *mapping, ...@@ -1786,7 +1786,6 @@ struct page *read_cache_page_async(struct address_space *mapping,
page = __read_cache_page(mapping, index, filler, data); page = __read_cache_page(mapping, index, filler, data);
if (IS_ERR(page)) if (IS_ERR(page))
return page; return page;
mark_page_accessed(page);
if (PageUptodate(page)) if (PageUptodate(page))
goto out; goto out;
......
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