freebsd-skq/sys/fs
Alfred Perlstein 92e73f5711 I ran into an nfs client panic a couple of times in a row over the
last few days.  I tracked it down to the fact that nfs_reclaim()
is setting vp->v_data to NULL _before_ calling vnode_destroy_object().
After silence from the mailing list I checked further and discovered
that ufs_reclaim() is unique among FreeBSD filesystems for calling
vnode_destroy_object() early, long before tossing v_data or much
of anything else, for that matter.  The rest, including NFS, appear
to be identical, as if they were just clones of one original routine.

The enclosed patch fixes all file systems in essentially the same
way, by moving the call to vnode_destroy_object() to early in the
routine (before the call to vfs_hash_remove(), if any).  I have
only tested NFS, but I've now run for over eighteen hours with the
patch where I wouldn't get past four or five without it.

Submitted by: Frank Mayhar
Requested by: Mohan Srinivasan
MFC After: 1 week
2006-01-17 17:29:03 +00:00
..
cd9660 I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
coda o Fix typo in the define: s/MRAK_INT_GEN/MARK_INT_GEN/. The typo 2006-01-09 18:07:06 +00:00
deadfs - Deadfs may now use the standard vop lock, get rid of dead_lock(). 2005-03-13 12:06:20 +00:00
devfs When returning EIO from DEVFSIO_RADD ioctl, drop the exclusive rule 2006-01-03 09:49:10 +00:00
fdescfs Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
fifofs Second attempt at a work-around for fifo-related socket panics during 2005-10-01 20:15:41 +00:00
hpfs I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
msdosfs I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
ntfs I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
nullfs Eradicate caddr_t from the VFS API. 2005-12-14 00:49:52 +00:00
nwfs I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
portalfs Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
procfs Make tv_sec a time_t on all platforms but alpha. Brings us more in line with 2005-12-24 22:22:17 +00:00
pseudofs Eliminate an unnecessary bcopy(). 2005-08-12 12:22:05 +00:00
smbfs I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
udf I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
umapfs Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
unionfs Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00