Received: by mail.netbsd.org (Postfix, from userid 0) id 4A7BA63B10D; Wed, 1 Sep 2010 16:56:25 +0000 (UTC) Received: from cvs.netbsd.org (cvs.NetBSD.org [IPv6:2001:4f8:3:7:2e0:81ff:fe30:95bd]) by mail.netbsd.org (Postfix) with ESMTP id 635B363B100 for ; Wed, 1 Sep 2010 16:56:20 +0000 (UTC) Received: by cvs.netbsd.org (Postfix, from userid 500) id 4399F175DD; Wed, 1 Sep 2010 16:56:20 +0000 (UTC) MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain Date: Wed, 1 Sep 2010 16:56:20 +0000 From: Chuck Silvers Subject: CVS commit: src/sys To: source-changes@NetBSD.org X-Mailer: log_accum Message-Id: <20100901165620.4399F175DD@cvs.netbsd.org> Sender: source-changes-owner@NetBSD.org List-Id: source-changes.NetBSD.org Precedence: list Reply-To: source-changes-d@NetBSD.org Mail-Reply-To: Chuck Silvers Mail-Followup-To: source-changes-d@NetBSD.org Module Name: src Committed By: chs Date: Wed Sep 1 16:56:20 UTC 2010 Modified Files: src/sys/miscfs/genfs: genfs_io.c genfs_node.h genfs_vnops.c src/sys/ufs/ufs: ufs_inode.c src/sys/uvm: uvm_pager.h Log Message: replace the earlier workaround for PR 40389 with a better fix. the earlier change caused data corruption by freeing pages without invaliding their mappings. instead of the trylock/retry, just take the genfs-node lock before calling VOP_GETPAGES() and pass a new flag to tell it that we're already holding this lock. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/miscfs/genfs/genfs_io.c cvs rdiff -u -r1.19 -r1.20 src/sys/miscfs/genfs/genfs_node.h cvs rdiff -u -r1.182 -r1.183 src/sys/miscfs/genfs/genfs_vnops.c cvs rdiff -u -r1.82 -r1.83 src/sys/ufs/ufs/ufs_inode.c cvs rdiff -u -r1.38 -r1.39 src/sys/uvm/uvm_pager.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.