45ab7f236a
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. |
||
---|---|---|
.. | ||
Makefile | ||
files.nfs | ||
krpc.h | ||
krpc_subr.c | ||
nfs.h | ||
nfs_bio.c | ||
nfs_boot.c | ||
nfs_bootdhcp.c | ||
nfs_bootparam.c | ||
nfs_bootstatic.c | ||
nfs_clntsocket.c | ||
nfs_clntsubs.c | ||
nfs_export.c | ||
nfs_iod.c | ||
nfs_kq.c | ||
nfs_node.c | ||
nfs_serv.c | ||
nfs_socket.c | ||
nfs_srvcache.c | ||
nfs_srvsocket.c | ||
nfs_srvsubs.c | ||
nfs_subs.c | ||
nfs_syscalls.c | ||
nfs_var.h | ||
nfs_vfsops.c | ||
nfs_vnops.c | ||
nfsdiskless.h | ||
nfsm_subs.h | ||
nfsmount.h | ||
nfsnode.h | ||
nfsproto.h | ||
nfsrtt.h | ||
nfsrvcache.h | ||
rpcv2.h | ||
xdr_subs.h |