Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/nfs
Module Name: src
Committed By: manu
Date: Wed Jul 15 03:28:55 UTC 2015
Modified Files:
src/sys/nfs: nfs_bio.c nfs_clntsocket.c nfs_iod.c nfs_socket.c
nfs_var.h nfs_vfsops.c nfsmount.h
Log Message:
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.
To generate a diff of this commit:
cvs rdiff -u -r1.190 -r1.191 src/sys/nfs/nfs_bio.c
cvs rdiff -u -r1.2 -r1.3 src/sys/nfs/nfs_clntsocket.c
cvs rdiff -u -r1.6 -r1.7 src/sys/nfs/nfs_iod.c
cvs rdiff -u -r1.196 -r1.197 src/sys/nfs/nfs_socket.c
cvs rdiff -u -r1.93 -r1.94 src/sys/nfs/nfs_var.h
cvs rdiff -u -r1.229 -r1.230 src/sys/nfs/nfs_vfsops.c
cvs rdiff -u -r1.52 -r1.53 src/sys/nfs/nfsmount.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index