summaryrefslogtreecommitdiff
path: root/fs/nfsd/nfs4recover.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2010-06-05 04:04:45 +0400
committerJ. Bruce Fields <bfields@redhat.com>2010-10-02 03:29:44 +0400
commit6ff8da088766d70f0441feb982b82978a6cbf7ef (patch)
tree7d0e90e4e03323fec67a972cdff60c9b8a96925a /fs/nfsd/nfs4recover.c
parentfb003923263c3f0cb02adbd56a22fe16ef5c0e77 (diff)
downloadlinux-6ff8da088766d70f0441feb982b82978a6cbf7ef.tar.xz
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>
Diffstat (limited to 'fs/nfsd/nfs4recover.c')
0 files changed, 0 insertions, 0 deletions