freebsd-skq/sys/fs
rmacklem 1110825468 When an NFS unmount occurs, once vflush() writes the last dirty
buffer for the last vnode on the mount back to the server, it
returns. At that point, the code continues with the unmount,
including freeing up the nfs specific part of the mount structure.
It is possible that an nfsiod thread will try to check for an
empty I/O queue in the nfs specific part of the mount structure
after it has been free'd by the unmount. This patch avoids this problem by
setting the iodmount entries for the mount back to NULL while holding the
mutex in the unmount and checking the appropriate entry is non-NULL after
acquiring the mutex in the nfsiod thread.

Reported and tested by:	pho
Reviewed by:	kib
MFC after:	2 weeks
2013-04-18 23:20:16 +00:00
..
cd9660 Add currently unused flag argument to the cluster_read(), 2013-03-14 20:28:26 +00:00
deadfs The deadfs VOPs for vop_ioctl and vop_bmap call itself recursively, 2012-09-13 13:05:45 +00:00
devfs - Correct mispellings of the word necessary 2013-04-17 11:42:40 +00:00
ext2fs Prepare to replace the buf splay with a trie: 2013-04-06 22:21:23 +00:00
fdescfs Merge Capsicum overhaul: 2013-03-02 00:53:12 +00:00
fifofs I am comparing current pipe code with the one in 8.3-STABLE r236165, 2012-07-31 05:48:35 +00:00
fuse MFC 2013-02-26 17:33:18 +00:00
msdosfs - Correct spelling in comments 2013-04-17 11:56:11 +00:00
nandfs Remove the last use of the deprecated MNT_VNODE_FOREACH interface in 2013-01-03 19:01:56 +00:00
nfs Revamp the old NFS server's File Handle Affinity (FHA) code so that 2013-04-17 21:00:22 +00:00
nfsclient When an NFS unmount occurs, once vflush() writes the last dirty 2013-04-18 23:20:16 +00:00
nfsserver Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nullfs nullfs: Improve f_flags in statfs(). 2013-03-02 12:42:23 +00:00
procfs Rename VM_OBJECT_LOCK(), VM_OBJECT_UNLOCK() and VM_OBJECT_TRYLOCK() to 2013-02-20 12:03:20 +00:00
pseudofs Complete MPSAFE VFS interface and remove MNTK_MPSAFE flag. 2012-11-09 18:02:25 +00:00
smbfs smbfs_lookup() in the DOTDOT case operates on dvp->n_parent without 2013-03-09 13:25:45 +00:00
tmpfs - Constify local path variable for chflagsat(). 2013-03-22 07:40:34 +00:00
udf Add currently unused flag argument to the cluster_read(), 2013-03-14 20:28:26 +00:00
unionfs r16312 is not any longer real since many years (likely since when VFS 2012-11-19 22:43:45 +00:00