diff options
author | Peter Zijlstra <peterz@infradead.org> | 2007-07-08 04:13:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-08 13:13:21 -0400 |
commit | 4e99325b462ba18075768582621af74a6b79d2a5 (patch) | |
tree | c10d5cca6c42dda86faa3881e406475d8d645764 /mm | |
parent | 95511ad4342cd094e62c807f6631b9a19cc6b129 (diff) |
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: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index edb1b0b5cc8d..d1d9814f99dd 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -1786,7 +1786,6 @@ retry: | |||
1786 | page = __read_cache_page(mapping, index, filler, data); | 1786 | page = __read_cache_page(mapping, index, filler, data); |
1787 | if (IS_ERR(page)) | 1787 | if (IS_ERR(page)) |
1788 | return page; | 1788 | return page; |
1789 | mark_page_accessed(page); | ||
1790 | if (PageUptodate(page)) | 1789 | if (PageUptodate(page)) |
1791 | goto out; | 1790 | goto out; |
1792 | 1791 | ||