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