Return-Path: Received: from mx2.netapp.com ([216.240.18.37]:56731 "EHLO mx2.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751408Ab0LAPgu (ORCPT ); Wed, 1 Dec 2010 10:36:50 -0500 From: Trond Myklebust To: Linus Torvalds , Nick Bowler Cc: Linux Kernel Mailing List , linux-nfs@vger.kernel.org Subject: [PATCH v2 0/3] Fix more NFS readdir regressions Date: Wed, 1 Dec 2010 10:36:41 -0500 Message-Id: <1291217804-11257-1-git-send-email-Trond.Myklebust@netapp.com> In-Reply-To: <20101201150428.GA2879@elliptictech.com> References: <20101201150428.GA2879@elliptictech.com> Sender: linux-nfs-owner@vger.kernel.org List-ID: Content-Type: text/plain MIME-Version: 1.0 > 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