aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4state.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-11-01 18:09:48 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-11-07 19:39:58 -0500
commitcb73a9f4649bf63c0397e565a15abf8a91ecf56f (patch)
tree96fb7200465a50047c92089ee4b504a3ebcfe9bb /fs/nfsd/nfs4state.c
parentc6bb3ca27d78b902baa143b931a8d9ef53298afa (diff)
nfsd4: implement backchannel_ctl operation
This operation is mandatory for servers to implement. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r--fs/nfsd/nfs4state.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index dbbbd2fe5236..4023e77687ee 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1865,6 +1865,20 @@ static __be32 nfsd4_map_bcts_dir(u32 *dir)
1865 return nfserr_inval; 1865 return nfserr_inval;
1866} 1866}
1867 1867
1868__be32 nfsd4_backchannel_ctl(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_backchannel_ctl *bc)
1869{
1870 struct nfsd4_session *session = cstate->session;
1871
1872 spin_lock(&client_lock);
1873 session->se_cb_prog = bc->bc_cb_program;
1874 session->se_cb_sec = bc->bc_cb_sec;
1875 spin_unlock(&client_lock);
1876
1877 nfsd4_probe_callback(session->se_client);
1878
1879 return nfs_ok;
1880}
1881
1868__be32 nfsd4_bind_conn_to_session(struct svc_rqst *rqstp, 1882__be32 nfsd4_bind_conn_to_session(struct svc_rqst *rqstp,
1869 struct nfsd4_compound_state *cstate, 1883 struct nfsd4_compound_state *cstate,
1870 struct nfsd4_bind_conn_to_session *bcts) 1884 struct nfsd4_bind_conn_to_session *bcts)