NetBSD/sys/nfs
manu 45ab7f236a Fix soft NFS force unmount
For many reasons, forcibly unmounting a soft NFS mount could hang forever.
Here are the fixes:
- Introduce decents timeouts in operation that awaited NFS server reply.
- On timeout, fails operations on soft mounts with EIO.
- Introduce NFSMNT_DISMNTFORCE to let the filesystem know that a
  force unmount is ongoing. This causes timeouts to be reduced and
  prevents the NFS client to attempt reconnecting to the NFS server.

Also fix a race condition where some asynchronous I/O could reference
destroyed mount structures. We fix this by awaiting asynchronous I/O
to drain before proceeding.

Reviewed by Chuck Silvers.
2015-07-15 03:28:55 +00:00
..
Makefile
files.nfs Define filesystem attributes with vfs dependency. 2014-10-11 06:42:18 +00:00
krpc.h
krpc_subr.c change nfs_boot_sendrecv to take sockaddr_in * instead of mbuf * 2015-05-21 02:04:22 +00:00
nfs.h Nix LEASE_READ/LEASE_WRITE from <sys/vnode.h>. 2015-04-20 13:12:24 +00:00
nfs_bio.c Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_boot.c change nfs_boot_sendrecv to take sockaddr_in * instead of mbuf * 2015-05-21 02:04:22 +00:00
nfs_bootdhcp.c change nfs_boot_sendrecv to take sockaddr_in * instead of mbuf * 2015-05-21 02:04:22 +00:00
nfs_bootparam.c tyop in comment, from Eivind Evensen via OpenBSD 2013-09-12 18:00:18 +00:00
nfs_bootstatic.c
nfs_clntsocket.c Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_clntsubs.c
nfs_export.c don't allow the nfs server module to unload if it has exported filesystems. 2013-12-14 16:19:28 +00:00
nfs_iod.c Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_kq.c VOP_GETATTR() needs a shared lock at least. 2011-10-24 11:43:30 +00:00
nfs_node.c Change NFS from rbtree to vcache. 2014-05-30 08:47:45 +00:00
nfs_serv.c Cull unused INRENAME and INRELOOKUP from callers. 2015-04-21 03:19:03 +00:00
nfs_socket.c Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_srvcache.c
nfs_srvsocket.c
nfs_srvsubs.c Rename the new ni_startdir (the slot used to hold the starting point 2012-11-05 19:06:26 +00:00
nfs_subs.c Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
nfs_syscalls.c add netbsd32 support for nfssvc(2). we do this by defining 5 copyin/out 2015-06-22 10:35:00 +00:00
nfs_var.h Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_vfsops.c Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfs_vnops.c in nfs_writerpc(), avoid a signed/unsigned problem in computing the 2015-05-14 17:35:54 +00:00
nfsdiskless.h change nfs_boot_sendrecv to take sockaddr_in * instead of mbuf * 2015-05-21 02:04:22 +00:00
nfsm_subs.h Backout wildcard pragma to kill warnings and instead sprinkle a few dozen 2013-09-14 22:29:08 +00:00
nfsmount.h Fix soft NFS force unmount 2015-07-15 03:28:55 +00:00
nfsnode.h Change NFS from rbtree to vcache. 2014-05-30 08:47:45 +00:00
nfsproto.h
nfsrtt.h Don't nest structure definitions. 2014-09-05 05:34:41 +00:00
nfsrvcache.h
rpcv2.h
xdr_subs.h