freebsd-nq/sys/fs/nfsclient
Rick Macklem be8b35eda7 Add checks for MNTK_UNMOUNTF at the beginning of three
functions, so that threads don't get stuck in them during
a forced dismount. nfs_sync/VFS_SYNC() needs this, since it is
called by dounmount() before VFS_UNMOUNT(). The nfscl_nget()
case makes sure that a thread doing an VOP_OPEN() or
VOP_ADVLOCK() call doesn't get blocked before attempting
the RPC. Attempting RPCs don't block, since they all
fail once a forced dismount is in progress.
The third one at the beginning of nfsrpc_close()
is done so threads don't get blocked while doing VOP_INACTIVE()
as the vnodes are cleared out.
With these three changes plus a change to the umount(1)
command so that it doesn't do "sync()" for the forced case
seem to make forced dismounts work for the experimental NFS
client.

MFC after:	2 weeks
2011-04-17 23:04:03 +00:00
..
nfs_clbio.c Change the experimental NFS client so that it creates nfsiod 2011-04-15 23:07:48 +00:00
nfs_clcomsubs.c This patch fixes the Experimental NFS client to properly deal with 32 bit or 64 2011-03-30 01:10:11 +00:00
nfs_clkrpc.c Add the SVC_RELEASE(xprt), as required by r194407. 2009-06-17 22:55:59 +00:00
nfs_clnfsiod.c Change the experimental NFS client so that it creates nfsiod 2011-04-15 23:07:48 +00:00
nfs_clnode.c Add a lktype flags argument to nfscl_nget() and ncl_nget() in the 2011-04-16 23:20:21 +00:00
nfs_clport.c Add a lktype flags argument to nfscl_nget() and ncl_nget() in the 2011-04-16 23:20:21 +00:00
nfs_clrpcops.c Add checks for MNTK_UNMOUNTF at the beginning of three 2011-04-17 23:04:03 +00:00
nfs_clstate.c Add checks for MNTK_UNMOUNTF at the beginning of three 2011-04-17 23:04:03 +00:00
nfs_clsubs.c Change the experimental NFS client so that it creates nfsiod 2011-04-15 23:07:48 +00:00
nfs_clvfsops.c Add checks for MNTK_UNMOUNTF at the beginning of three 2011-04-17 23:04:03 +00:00
nfs_clvnops.c Fix up some of the sysctls for the experimental NFS client so 2011-04-17 18:56:17 +00:00
nfs.h Change the experimental NFS client so that it creates nfsiod 2011-04-15 23:07:48 +00:00
nfsargs.h
nfsdiskless.h
nfsmount.h Fix the nlm so that it no longer depends on the regular 2011-01-03 20:37:31 +00:00
nfsnode.h Add a lktype flags argument to nfscl_nget() and ncl_nget() in the 2011-04-16 23:20:21 +00:00
nlminfo.h