[PATCH v2 0/3] Fix more NFS readdir regressions

From: Trond Myklebust
Date: Wed Dec 01 2010 - 10:36:56 EST


> 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.

Trond Myklebust (3):
NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler
NFS: lock the readdir page while it is in use
NFS: Fix a memory leak in nfs_readdir

fs/nfs/dir.c | 48 ++++++++++++++++++++++++++++++++++++++++--------
fs/nfs/inode.c | 1 +
include/linux/nfs_fs.h | 1 +
3 files changed, 42 insertions(+), 8 deletions(-)

--
1.7.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/