freebsd-nq/sys/fs/nfs
Rick Macklem eeb1f3ed51 Fix the NFSv4 client to safely find processes.
r340744 broke the NFSv4 client, because it replaced pfind_locked() with a
call to pfind(), since pfind() acquires the sx lock for the pid hash and
the NFSv4 already holds a mutex when it does the call.
The patch fixes the problem by recreating a pfind_any_locked() and adding the
functions pidhash_slockall() and pidhash_sunlockall to acquire/release
all of the pid hash locks.
These functions are then used by the NFSv4 client instead of acquiring
the allproc_lock and calling pfind().

Reviewed by:	kib, mjg
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D19887
2019-04-15 01:27:15 +00:00
..
nfs_commonacl.c Drop unused 'p' argument to nfsv4_strtogid(). 2019-03-12 15:07:47 +00:00
nfs_commonkrpc.c Revert r320698, since the related userland changes were reverted by r338192. 2019-04-04 23:30:27 +00:00
nfs_commonport.c Add INET6 support for the upcalls to the nfsuserd daemon. 2019-04-06 21:53:46 +00:00
nfs_commonsubs.c Add INET6 support for the upcalls to the nfsuserd daemon. 2019-04-06 21:53:46 +00:00
nfs_var.h Add INET6 support for the upcalls to the nfsuserd daemon. 2019-04-06 21:53:46 +00:00
nfs.h Add INET6 support for the upcalls to the nfsuserd daemon. 2019-04-06 21:53:46 +00:00
nfscl.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
nfsclstate.h Fix the pNFS client when mirrors aren't on the same machine. 2018-07-14 19:51:44 +00:00
nfsdport.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
nfskpiport.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
nfsm_subs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfsport.h Fix the NFSv4 client to safely find processes. 2019-04-15 01:27:15 +00:00
nfsproto.h Modify the reasons for not issuing a delegation in the NFSv4.1 server. 2018-07-16 21:32:50 +00:00
nfsrvcache.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfsrvstate.h Add an optional feature to the pNFS server. 2018-07-02 19:21:33 +00:00
nfsv4_errstr.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
rpcv2.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
xdr_subs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00