freebsd-dev/sys/fs/nfsserver
Rick Macklem ff29f3b241 Fix the new NFS client so that it handles NFSv4 state
correctly during a forced dismount. This required that
the exclusive and shared (refcnt) sleep lock functions check
for MNTK_UMOUNTF before sleeping, so that they won't block
while nfscl_umount() is getting rid of the state. As
such, a "struct mount *" argument was added to the locking
functions. I believe the only remaining case where a forced
dismount can get hung in the kernel is when a thread is
already attempting to do a TCP connect to a dead server
when the krpc client structure called nr_client is NULL.
This will only happen just after a "mount -u" with options
that force a new TCP connection is done, so it shouldn't
be a problem in practice.

MFC after:	2 weeks
2011-05-27 22:05:10 +00:00
..
nfs_nfsdcache.c Clean up the experimental NFS server replay cache when the module is unloaded. 2011-01-12 23:34:09 +00:00
nfs_nfsdkrpc.c Change the new NFS server so that it uses vfs.nfsd naming 2011-05-08 01:01:27 +00:00
nfs_nfsdport.c Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
nfs_nfsdserv.c Fix the experimental NFSv4 server so that it uses VOP_PATHCONF() 2011-04-14 23:46:15 +00:00
nfs_nfsdsocket.c Fix the new NFS client so that it handles NFSv4 state 2011-05-27 22:05:10 +00:00
nfs_nfsdstate.c Fix the new NFS client so that it handles NFSv4 state 2011-05-27 22:05:10 +00:00
nfs_nfsdsubs.c Apply changes to the experimental nfs server so that it uses the security 2009-05-14 21:39:08 +00:00