From owner-cvs-all Tue May 12 23:13:50 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA19688 for cvs-all-outgoing; Tue, 12 May 1998 23:13:50 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA19670; Tue, 12 May 1998 23:13:47 -0700 (PDT) (envelope-from peter@FreeBSD.org) From: Peter Wemm Received: (from peter@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id XAA00545; Tue, 12 May 1998 23:10:13 -0700 (PDT) Date: Tue, 12 May 1998 23:10:13 -0700 (PDT) Message-Id: <199805130610.XAA00545@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/nfs nfs_node.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk peter 1998/05/12 23:10:13 PDT Modified files: sys/nfs nfs_node.c Log: Hold a reference to the vnode during the sillyrename cleanup. If we block in nfs_vinvalbuf() or the nfs_removeit(), we can have the nfsnode reallocated from underneath us (eg: replaced by a ufs 'struct inode') which can cause disk corruption ('freeing free block' when di_db[5] gets trashed). This is not a cheap fix, but it'll do until the nfsnodes get reference counting and/or locking. Apparently NetBSD have a similar fix (apparently from BSDI). I wish all PR's had this much useful detail. :-) PR: 6611 Submitted by: Stephen Clawson Revision Changes Path 1.25 +9 -1 src/sys/nfs/nfs_node.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message