ff29f3b241
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 |
||
---|---|---|
.. | ||
nfs_nfsdcache.c | ||
nfs_nfsdkrpc.c | ||
nfs_nfsdport.c | ||
nfs_nfsdserv.c | ||
nfs_nfsdsocket.c | ||
nfs_nfsdstate.c | ||
nfs_nfsdsubs.c |