Messages in this thread | | | From | Trond Myklebust <> | Subject | [PATCH v3 0/3] Fix more NFS readdir regressions | Date | Wed, 1 Dec 2010 22:08:02 -0500 |
| |
> OK. The first patch in this series fixes the regression reported by > Nick Bowler when I apply it to my setup.
> The 2 remaining patches are needed in order to ensure that the > VM doesn't free the readdir page cache page while we're trying to > read from it, and to ensure that we don't leak memory...
> Linus, please don't apply these patches quite yet. I'd like to continue > tests for a couple more days before I send you the pull request.
v2 fixes the following issues: - Fix up the cookie usage in uncached_readdir() - Changelog fixups for the second patch - .releasepage should use kmap_atomic() so that it can be called from all direct reclaim contexts. - Ensure that .releasepage also clears Pg_uptodate - Set/clear the Pg_private flag to ensure .releasepage gets called when appropriate. - Add a .invalidatepage to ensure truncate_inode_pages() works correctly - Ensure that the anonymous page that is generated by uncached_readdir() doesn't leak memory.
v3: - add the freepage() address space operation. - Dump the page locking - rewrite patch 'Fix a memory leak in nfs_readdir' to work with the new ->freepage() callback.
Linus Torvalds (1): Call the filesystem back whenever a page is removed from the page cache
Trond Myklebust (2): NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler NFS: Fix a memory leak in nfs_readdir
Documentation/filesystems/Locking | 7 ++++++- Documentation/filesystems/vfs.txt | 7 +++++++ fs/nfs/dir.c | 28 +++++++++++++++++----------- fs/nfs/inode.c | 1 + include/linux/fs.h | 1 + include/linux/nfs_fs.h | 1 + mm/truncate.c | 8 ++++++++ mm/vmscan.c | 11 +++++++++++ 8 files changed, 52 insertions(+), 12 deletions(-)
-- 1.7.3.2
| |