freebsd-skq/sys/nfsclient
peter 6613440b58 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 <sclawson@marker.cs.utah.edu>
1998-05-13 06:10:13 +00:00
..
bootp_subr.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
krpc_subr.c Moved some #includes from <sys/param.h> nearer to where they are actually 1998-03-28 10:33:27 +00:00
krpc.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:34:07 +00:00
nfs_bio.c Don't allow the readdirplus routine to be used in NFS V2. 1998-03-28 16:05:05 +00:00
nfs_nfsiod.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
nfs_node.c Hold a reference to the vnode during the sillyrename cleanup. If we block 1998-05-13 06:10:13 +00:00
nfs_socket.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
nfs_subs.c Use random() to find our initial xid. 1998-04-06 11:41:07 +00:00
nfs_vfsops.c As described by the submitter: 1998-05-06 05:29:41 +00:00
nfs_vnops.c Move the *vpp initialization earlier so that it's set in all error cases. 1998-05-13 05:47:09 +00:00
nfs.h Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
nfsargs.h Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
nfsdiskless.h Removed more vestiges of config-time swap configuration. 1997-09-07 12:56:46 +00:00
nfsm_subs.h Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
nfsmount.h Fix all areas of the system (or at least all those in LINT) to avoid storing 1997-08-16 19:16:27 +00:00
nfsnode.h Trivial filesystem getpages/putpages implementations, set the second. 1998-03-06 09:46:52 +00:00
nfsstats.h Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00