47cbff34fa
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 |
||
---|---|---|
.. | ||
bootp_subr.c | ||
krpc_subr.c | ||
krpc.h | ||
nfs_common.h | ||
nfs_diskless.c | ||
nfs_fha.c | ||
nfs_fha.h | ||
nfs_kdtrace.h | ||
nfs_lock.c | ||
nfs_lock.h | ||
nfs_mountcommon.h | ||
nfs_nfssvc.c | ||
nfsdiskless.h | ||
nfsproto.h | ||
nfssvc.h | ||
xdr_subs.h |