aboutsummaryrefslogtreecommitdiff
path: root/fs/nfsd/auth.c
diff options
context:
space:
mode:
authorGravatar Chuck Lever <chuck.lever@oracle.com> 2024-04-01 16:05:39 -0400
committerGravatar Chuck Lever <chuck.lever@oracle.com> 2024-05-06 09:07:16 -0400
commit38f080f3cd19fbd87eb7f6c4f6c236c1c9df6fba (patch)
treecf5456b44e28ebb914582184cc81492d700e6293 /fs/nfsd/auth.c
parentnfsd: drop st_mutex before calling move_to_close_lru() (diff)
downloadlinux-38f080f3cd19fbd87eb7f6c4f6c236c1c9df6fba.tar.gz
linux-38f080f3cd19fbd87eb7f6c4f6c236c1c9df6fba.tar.bz2
linux-38f080f3cd19fbd87eb7f6c4f6c236c1c9df6fba.zip
NFSD: Move callback_wq into struct nfs4_client
Commit 883820366747 ("nfsd: update workqueue creation") made the callback_wq single-threaded, presumably to protect modifications of cl_cb_client. See documenting comment for nfsd4_process_cb_update(). However, cl_cb_client is per-lease. There's no other reason that all callback operations need to be dispatched via a single thread. The single threading here means all client callbacks can be blocked by a problem with one client. Change the NFSv4 callback client so it serializes per-lease instead of serializing all NFSv4 callback operations on the server. Reported-by: Dai Ngo <dai.ngo@oracle.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd/auth.c')
0 files changed, 0 insertions, 0 deletions