aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2009-09-10 05:25:59 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-09-15 20:49:55 -0400
commit38524ab38f2752beee262a97403d871665838172 (patch)
treecbccd7de004d2ad437bd514fc3baefefd6a711f5 /include
parent80fc015bdfe1f5b870c1e1ee02d78e709523fee7 (diff)
nfsd41: Backchannel: callback infrastructure
Keep the xprt used for create_session in cl_cb_xprt. Mark cl_callback.cb_minorversion = 1 and remember the client provided cl_callback.cb_prog rpc program number. Use it to probe the callback path. Use the client's network address to initialize as the callback's address as expected by the xprt creation routines. Define xdr sizes and code nfs4_cb_compound header to be able to send a null callback rpc. Signed-off-by: Andy Adamson<andros@netapp.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com> [get callback minorversion from fore channel's] Signed-off-by: Benny Halevy <bhalevy@panasas.com> [nfsd41: change bc_sock to bc_xprt] Signed-off-by: Benny Halevy <bhalevy@panasas.com> [pulled definition for cl_cb_xprt] Signed-off-by: Benny Halevy <bhalevy@panasas.com> [nfsd41: set up backchannel's cb_addr] [moved rpc_create_args init to "nfsd: modify nfsd4.1 backchannel to use new xprt class"] Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfsd/state.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h
index 9bf3aa8c5aea..c916032570c4 100644
--- a/include/linux/nfsd/state.h
+++ b/include/linux/nfsd/state.h
@@ -211,6 +211,9 @@ struct nfs4_client {
211 struct nfsd4_clid_slot cl_cs_slot; /* create_session slot */ 211 struct nfsd4_clid_slot cl_cs_slot; /* create_session slot */
212 u32 cl_exchange_flags; 212 u32 cl_exchange_flags;
213 struct nfs4_sessionid cl_sessionid; 213 struct nfs4_sessionid cl_sessionid;
214
215 /* for nfs41 callbacks */
216 struct svc_xprt *cl_cb_xprt; /* 4.1 callback transport */
214}; 217};
215 218
216/* struct nfs4_client_reset 219/* struct nfs4_client_reset