diff options
author | Andrew Morton <akpm@osdl.org> | 2006-09-30 23:29:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-01 00:39:33 -0700 |
commit | bd4c8ce41a2e2f0c5bf54343ab54e8e09faec021 (patch) | |
tree | e8a7d3cfafbe6ee35672953718ba4223e450d938 /mm/memory.c | |
parent | d025c9db7f31fc0554ce7fb2dfc78d35a77f3487 (diff) | |
download | op-kernel-dev-bd4c8ce41a2e2f0c5bf54343ab54e8e09faec021.zip op-kernel-dev-bd4c8ce41a2e2f0c5bf54343ab54e8e09faec021.tar.gz |
[PATCH] invalidate_inode_pages2(): ignore page refcounts
The recent fix to invalidate_inode_pages() (git commit 016eb4a) managed to
unfix invalidate_inode_pages2().
The problem is that various bits of code in the kernel can take transient refs
on pages: the page scanner will do this when inspecting a batch of pages, and
the lru_cache_add() batching pagevecs also hold a ref.
Net result is transient failures in invalidate_inode_pages2(). This affects
NFS directory invalidation (observed) and presumably also block-backed
direct-io (not yet reported).
Fix it by reverting invalidate_inode_pages2() back to the old version which
ignores the page refcounts.
We may come up with something more clever later, but for now we need a 2.6.18
fix for NFS.
Cc: Chuck Lever <cel@citi.umich.edu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/memory.c')
0 files changed, 0 insertions, 0 deletions