eeb1f3ed51
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 |
||
---|---|---|
.. | ||
nfs_clbio.c | ||
nfs_clcomsubs.c | ||
nfs_clkdtrace.c | ||
nfs_clkrpc.c | ||
nfs_clnfsiod.c | ||
nfs_clnode.c | ||
nfs_clport.c | ||
nfs_clrpcops.c | ||
nfs_clstate.c | ||
nfs_clsubs.c | ||
nfs_clvfsops.c | ||
nfs_clvnops.c | ||
nfs_kdtrace.h | ||
nfs.h | ||
nfsmount.h | ||
nfsnode.h | ||
nlminfo.h |