freebsd-skq/sys
Rick Macklem 5f742d3879 nfsv4 client: fix forced dismount when sleeping on nfsv4lck
During a recent NFSv4 testing event a test server caused a hang
where "umount -N" failed.  The renew thread was sleeping on "nfsv4lck"
and the "umount" was sleeping, waiting for the renew thread to
terminate.

This is the first of two patches that is hoped to fix the renew thread
so that it will terminate when "umount -N" is done on the mount.

nfsv4_lock() checks for forced dismount, but only after it wakes up
from msleep().  Without this patch, a wakeup() call was required.
This patch adds a 1second timeout on the msleep(), so that it will
wake up and see the forced dismount flag.  Normally a wakeup()
will occur in less than 1second, but if a premature return from
msleep() does occur, it will simply loop around and msleep() again.

While here, replace the nfsmsleep() wrapper that was used for portability
with the actual msleep() call and make the same change for nfsv4_getref().

MFC after:	2 weeks
2021-03-19 14:09:33 -07:00
..
amd64 x86: consolidate hw watchpoint logic into new file 2021-03-19 16:51:52 -03:00
arm mvebu_gpio: Fix settings of gpio pin direction. 2021-03-07 11:41:30 +01:00
arm64 Rename linux_set_upcall_kse() to linux_set_upcall(). 2021-03-18 12:14:34 -07:00
bsm Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
cam cam: Run all XPT_ASYNC ccbs in a dedicated thread 2021-03-12 13:29:42 -07:00
cddl Handle functions that use a nop in the arm64 fbt 2021-03-03 14:18:03 +00:00
compat Rename linux_set_upcall_kse() to linux_set_upcall(). 2021-03-18 12:14:34 -07:00
conf x86: consolidate hw watchpoint logic into new file 2021-03-19 16:51:52 -03:00
contrib vfs: fix vnlru marker handling for filtered/unfiltered cases 2021-03-18 14:59:03 +00:00
crypto armv8crypto: note derivation in armv8_crypto_wrap.c 2021-03-19 10:53:49 -03:00
ddb ddb: enable the use of ^C and ^S/^Q 2021-03-14 16:04:27 -07:00
dev cxgbe(4): create a separate helper routine to write the global RSS key. 2021-03-19 13:35:30 -07:00
dts Remove DTS files for arm boards we don't support 2021-01-27 10:02:01 +00:00
fs nfsv4 client: fix forced dismount when sleeping on nfsv4lck 2021-03-19 14:09:33 -07:00
gdb Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
geom gmirror: Pre-allocate the timeout event structure 2021-03-11 15:45:15 -05:00
gnu Remove the old dts imported tree. 2021-01-15 20:09:55 +01:00
i386 x86: consolidate hw watchpoint logic into new file 2021-03-19 16:51:52 -03:00
isa Move back the isa non-PNP driver deadline to FreeBSD 14. 2021-03-08 16:00:23 -07:00
kern Unbreak MSG_CMSG_CLOEXEC 2021-03-18 20:52:20 +00:00
kgssapi opencrypto: Introduce crypto_dispatch_async() 2021-02-08 09:19:19 -05:00
libkern Restore the augmented strlen commentary 2021-02-08 19:15:21 +00:00
mips nlmrsa: Mark deprecated for 14. 2021-03-16 14:43:03 -07:00
modules base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
net base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
net80211 net80211: split up ieee80211_probereq() 2021-03-18 11:02:45 +00:00
netgraph netgraph/ng_bridge: Add counters for the first link, too 2021-02-10 19:05:37 +01:00
netinet fix panic when rescue retransmission and FIN overlap 2021-03-17 17:12:04 +01:00
netinet6 base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
netipsec Revert "SO_RERROR indicates that receive buffer overflows should be handled as errors." 2021-02-08 22:32:32 +00:00
netpfil pfsync: Unconditionally push packets when requesting state updates 2021-03-17 19:18:14 +01:00
netsmb
nfs nfs: Cleanup dead files 2021-03-17 06:16:31 +11:00
nfsclient nfs: Cleanup dead files 2021-03-17 06:16:31 +11:00
nfsserver nfs: Cleanup dead files 2021-03-17 06:16:31 +11:00
nlm
ofed ofed: quiet gcc -Wint-in-bool-context 2021-02-24 15:56:16 -08:00
opencrypto ktls: Fix non-inplace TLS 1.3 encryption. 2021-03-10 11:07:40 -08:00
powerpc SPDX: Spell 4 clause BSD license correctly 2021-03-11 14:17:54 -07:00
riscv riscv: fix errors in some atomic type aliases 2021-03-04 16:59:58 -04:00
rpc nfs-over-tls: handle res.gid.gid_val correctly for memory allocation 2021-01-12 13:59:52 -08:00
security Add a comment on why the call to mac_vnode_relabel() might be in the wrong 2021-02-27 16:25:26 +00:00
sys vfs: fix vnlru marker handling for filtered/unfiltered cases 2021-03-18 14:59:03 +00:00
teken loader: implement framebuffer console 2021-01-02 21:41:36 +02:00
tests Enable running fib tests inside vnet jail. 2021-01-17 20:32:26 +00:00
tools syscalls.master: Add a new syscall type: RESERVED 2021-01-26 18:27:44 +00:00
ufs softdep_unmount: assert that no dandling dependencies are left 2021-03-12 13:31:08 +02:00
vm Remove unused obj variable missed in r354870. 2021-03-17 15:29:15 -07:00
x86 x86: consolidate hw watchpoint logic into new file 2021-03-19 16:51:52 -03:00
xdr
xen xen: move x86-specific xen_vector_callback_enabled to sys/x86 2021-03-15 14:20:21 +01:00
Makefile