freebsd-skq/sys/fs
Rick Macklem 8fe6bddff7 Forced dismounts of NFS mounts can fail when thread(s) are stuck
waiting for an RPC reply from the server while holding the mount
point busy (mnt_lockref incremented). This happens because dounmount()
msleep()s waiting for mnt_lockref to become 0, before calling
VFS_UNMOUNT(). This patch adds a new VFS operation called VFS_PURGE(),
which the NFS client implements as purging RPCs in progress. Making
this call before checking mnt_lockref fixes the problem, by ensuring
that the VOP_xxx() calls will fail and unbusy the mount point.

Reported by:	sbruno
Reviewed by:	kib
MFC after:	2 weeks
2013-09-01 23:02:59 +00:00
..
cd9660 - Add const-qualifiers to the arguments of isonum_*(). 2013-07-28 12:29:10 +00:00
deadfs The deadfs VOPs for vop_ioctl and vop_bmap call itself recursively, 2012-09-13 13:05:45 +00:00
devfs Make the seek a method of the struct fileops. 2013-08-21 17:36:01 +00:00
ext2fs ext2fs: update format specifiers for ext4 type. 2013-08-14 14:22:46 +00:00
fdescfs Fix several typos 2013-05-12 16:43:26 +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 The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
msdosfs Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
nandfs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfs Remove most of the remaining sysctl name list macros. They were only 2013-08-26 18:16:05 +00:00
nfsclient Forced dismounts of NFS mounts can fail when thread(s) are stuck 2013-09-01 23:02:59 +00:00
nfsserver Fix several performance related issues in the new NFS server's 2013-08-14 21:11:26 +00:00
nullfs The tvp vnode on rename is usually unlinked. Drop the cached null 2013-07-04 19:01:18 +00:00
procfs Relax the vm object locking. Use a read lock. 2013-06-05 17:00:10 +00:00
pseudofs Complete MPSAFE VFS interface and remove MNTK_MPSAFE flag. 2012-11-09 18:02:25 +00:00
smbfs Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
tmpfs Support storing 7 additional file flags in tmpfs: 2013-08-28 22:12:56 +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