Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752990Ab0LAPgv (ORCPT ); Wed, 1 Dec 2010 10:36:51 -0500 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 X-IronPort-AV: E=Sophos;i="4.59,283,1288594800"; d="scan'208";a="489508115" 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> X-Mailer: git-send-email 1.7.3.2 In-Reply-To: <20101201150428.GA2879@elliptictech.com> References: <20101201150428.GA2879@elliptictech.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1619 Lines: 40 > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/