mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-01 08:27:59 +00:00
a7de510685
On Feb. 28, a problem was reported on freebsd-stable@ where a nfsd thread processing an ExchangeID operation was blocked for a long time by another nfsd thread performing a copy_file_range. This occurred because the copy_file_range was taking a long time, but also because handling a clientID requires that all other nfsd threads be blocked via an exclusive lock, as required by ExchangeID. This patch adds two arguments to nfsv4_cleanclient() so that it can optionally be called with a mutex held. For this patch, the first of these arguments is "false" and, as such, there is no change in semantics. However, this change will allow a future commit to modify handling of the clientID so that it can be done with a mutex held while other nfsd threads continue to process NFS RPCs. MFC after: 1 month |
||
---|---|---|
.. | ||
nfs_commonacl.c | ||
nfs_commonkrpc.c | ||
nfs_commonport.c | ||
nfs_commonsubs.c | ||
nfs_var.h | ||
nfs.h | ||
nfscl.h | ||
nfsclstate.h | ||
nfsdport.h | ||
nfskpiport.h | ||
nfsm_subs.h | ||
nfsport.h | ||
nfsproto.h | ||
nfsrvcache.h | ||
nfsrvstate.h | ||
nfsv4_errstr.h | ||
rpcv2.h | ||
xdr_subs.h |