kernel-hacking-2024-linux-s.../fs/nfsd
J. Bruce Fields 6ff8da0887 nfsd4: Move callback setup to callback queue
Instead of creating the new rpc client from a regular server thread,
set a flag, kick off a null call, and allow the null call to do the work
of setting up the client on the callback workqueue.

Use a spinlock to ensure the callback work gets a consistent view of the
callback parameters.

This allows, for example, changing the callback from contexts where
sleeping is not allowed.  I hope it will also keep the locking simple as
we add more session and trunking features, by serializing most of the
callback-specific work.

This also closes a small race where the the new cb_ident could be used
with an old connection (or vice-versa).

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2010-10-01 19:29:44 -04:00
..
auth.c
auth.h
cache.h
export.c sunrpc: Add net to pure API calls 2010-09-27 10:16:11 -04:00
Kconfig nfsd: allow deprecated interface to be compiled out. 2010-09-22 15:33:14 -04:00
lockd.c
Makefile
nfs2acl.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4acl.c
nfs4callback.c nfsd4: Move callback setup to callback queue 2010-10-01 19:29:44 -04:00
nfs4idmap.c
nfs4proc.c
nfs4recover.c
nfs4state.c nfsd4: Move callback setup to callback queue 2010-10-01 19:29:44 -04:00
nfs4xdr.c nfsd4: adjust buflen for encoded attrs bitmap based on actual bitmap length 2010-10-01 16:52:24 -04:00
nfscache.c
nfsctl.c sunrpc: Add net argument to svc_create_xprt 2010-10-01 17:18:54 -04:00
nfsd.h
nfsfh.c
nfsfh.h
nfsproc.c
nfssvc.c sunrpc: Add net argument to svc_create_xprt 2010-10-01 17:18:54 -04:00
nfsxdr.c
state.h nfsd4: Move callback setup to callback queue 2010-10-01 19:29:44 -04:00
stats.c
vfs.c
vfs.h
xdr.h
xdr3.h
xdr4.h