nfsd41: proc stubs
authorAndy Adamson <andros@netapp.com>
Fri, 3 Apr 2009 05:27:58 +0000 (08:27 +0300)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Sat, 4 Apr 2009 00:41:14 +0000 (17:41 -0700)
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4state.c
include/linux/nfsd/xdr4.h

index ded469ff08b3e2c2301b76442aafb1a829b14c8d..f7be7fabe62c1d86848c8b562f20ad41034fdaef 100644 (file)
@@ -1101,6 +1101,28 @@ static struct nfsd4_operation nfsd4_ops[] = {
                .op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS,
                .op_name = "OP_RELEASE_LOCKOWNER",
        },
+
+       /* NFSv4.1 operations */
+       [OP_EXCHANGE_ID] = {
+               .op_func = (nfsd4op_func)nfsd4_exchange_id,
+               .op_flags = ALLOWED_WITHOUT_FH,
+               .op_name = "OP_EXCHANGE_ID",
+       },
+       [OP_CREATE_SESSION] = {
+               .op_func = (nfsd4op_func)nfsd4_create_session,
+               .op_flags = ALLOWED_WITHOUT_FH,
+               .op_name = "OP_CREATE_SESSION",
+       },
+       [OP_DESTROY_SESSION] = {
+               .op_func = (nfsd4op_func)nfsd4_destroy_session,
+               .op_flags = ALLOWED_WITHOUT_FH,
+               .op_name = "OP_DESTROY_SESSION",
+       },
+       [OP_SEQUENCE] = {
+               .op_func = (nfsd4op_func)nfsd4_sequence,
+               .op_flags = ALLOWED_WITHOUT_FH,
+               .op_name = "OP_SEQUENCE",
+       },
 };
 
 static const char *nfsd4_op_name(unsigned opnum)
index fc20e1f38d7544bf0f84a4b5c0c078b26974ec2a..cfc01f415d15a7a682a0895865a6b903cd844efe 100644 (file)
@@ -832,6 +832,38 @@ out_err:
        return;
 }
 
+__be32
+nfsd4_exchange_id(struct svc_rqst *rqstp,
+                 struct nfsd4_compound_state *cstate,
+                 struct nfsd4_exchange_id *exid)
+{
+       return -1;      /* stub */
+}
+
+__be32
+nfsd4_create_session(struct svc_rqst *rqstp,
+                    struct nfsd4_compound_state *cstate,
+                    struct nfsd4_create_session *cr_ses)
+{
+       return -1;      /* stub */
+}
+
+__be32
+nfsd4_destroy_session(struct svc_rqst *r,
+                     struct nfsd4_compound_state *cstate,
+                     struct nfsd4_destroy_session *sessionid)
+{
+       return -1;      /* stub */
+}
+
+__be32
+nfsd4_sequence(struct svc_rqst *r,
+              struct nfsd4_compound_state *cstate,
+              struct nfsd4_sequence *seq)
+{
+       return -1;      /* stub */
+}
+
 __be32
 nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
                  struct nfsd4_setclientid *setclid)
index 28af925c2a3d713b03a00f1825040b8e30942f0a..294940c58094856849adcc0cbfd3e6f4b34fe03b 100644 (file)
@@ -471,6 +471,18 @@ extern __be32 nfsd4_setclientid(struct svc_rqst *rqstp,
 extern __be32 nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
                struct nfsd4_compound_state *,
                struct nfsd4_setclientid_confirm *setclientid_confirm);
+extern __be32 nfsd4_exchange_id(struct svc_rqst *rqstp,
+               struct nfsd4_compound_state *,
+struct nfsd4_exchange_id *);
+               extern __be32 nfsd4_create_session(struct svc_rqst *,
+               struct nfsd4_compound_state *,
+               struct nfsd4_create_session *);
+extern __be32 nfsd4_sequence(struct svc_rqst *,
+               struct nfsd4_compound_state *,
+               struct nfsd4_sequence *);
+extern __be32 nfsd4_destroy_session(struct svc_rqst *,
+               struct nfsd4_compound_state *,
+               struct nfsd4_destroy_session *);
 extern __be32 nfsd4_process_open1(struct nfsd4_open *open);
 extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp,
                struct svc_fh *current_fh, struct nfsd4_open *open);