freebsd-src/sys/nfs
Rick Macklem 47cbff34fa Add kernel support for the NFS client forced dismount "umount -N" option.
When an NFS mount is hung against an unresponsive NFS server, the "umount -f"
option can be used to dismount the mount. Unfortunately, "umount -f" gets
hung as well if a "umount" without "-f" has already been done. Usually,
this is because of a vnode lock being held by the "umount" for the mounted-on
vnode.
This patch adds kernel code so that a new "-N" option can be added to "umount",
allowing it to avoid getting hung for this case.
It adds two flags. One indicates that a forced dismount is about to happen
and the other is used, along with setting mnt_data == NULL, to handshake
with the nfs_unmount() VFS call.
It includes a slight change to the interface used between the client and
common NFS modules, so I bumped __FreeBSD_version to ensure both modules are
rebuilt.

Tested by:	pho
Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D11735
2017-07-29 19:52:47 +00:00
..
bootp_subr.c Do not try to install a default route for each interface found, because 2016-03-27 23:16:37 +00:00
krpc.h
krpc_subr.c NFS: spelling fixes on comments. 2016-04-29 16:07:25 +00:00
nfs_common.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_diskless.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfs_fha.c
nfs_fha.h
nfs_kdtrace.h
nfs_lock.c Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
nfs_lock.h
nfs_mountcommon.h
nfs_nfssvc.c Add kernel support for the NFS client forced dismount "umount -N" option. 2017-07-29 19:52:47 +00:00
nfsdiskless.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfsproto.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfssvc.h Add kernel support for the NFS client forced dismount "umount -N" option. 2017-07-29 19:52:47 +00:00
xdr_subs.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00