aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/xdr4.h
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2011-07-13 10:50:48 -0400
committerJ. Bruce Fields <bfields@redhat.com>2011-07-15 18:58:48 -0400
commit17456804546b78a1c13d2b934c8f50bbde141a38 (patch)
treed9585ae98e98101830068c9ab29556795a162942 /fs/nfsd/xdr4.h
parente1ca12dfb1be7fe8b82ca723a9b511f7d808bf81 (diff)
NFSD: Added TEST_STATEID operation
This operation is used by the client to check the validity of a list of stateids. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/xdr4.h')
-rw-r--r--fs/nfsd/xdr4.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/nfsd/xdr4.h b/fs/nfsd/xdr4.h
index ed1784d31a60..02fb0e09de7f 100644
--- a/fs/nfsd/xdr4.h
+++ b/fs/nfsd/xdr4.h
@@ -342,6 +342,20 @@ struct nfsd4_setclientid_confirm {
342 nfs4_verifier sc_confirm; 342 nfs4_verifier sc_confirm;
343}; 343};
344 344
345struct nfsd4_saved_compoundargs {
346 __be32 *p;
347 __be32 *end;
348 int pagelen;
349 struct page **pagelist;
350};
351
352struct nfsd4_test_stateid {
353 __be32 ts_num_ids;
354 __be32 ts_has_session;
355 struct nfsd4_compoundargs *ts_saved_args;
356 struct nfsd4_saved_compoundargs ts_savedp;
357};
358
345struct nfsd4_free_stateid { 359struct nfsd4_free_stateid {
346 stateid_t fr_stateid; /* request */ 360 stateid_t fr_stateid; /* request */
347 __be32 fr_status; /* response */ 361 __be32 fr_status; /* response */
@@ -437,6 +451,7 @@ struct nfsd4_op {
437 struct nfsd4_destroy_session destroy_session; 451 struct nfsd4_destroy_session destroy_session;
438 struct nfsd4_sequence sequence; 452 struct nfsd4_sequence sequence;
439 struct nfsd4_reclaim_complete reclaim_complete; 453 struct nfsd4_reclaim_complete reclaim_complete;
454 struct nfsd4_test_stateid test_stateid;
440 struct nfsd4_free_stateid free_stateid; 455 struct nfsd4_free_stateid free_stateid;
441 } u; 456 } u;
442 struct nfs4_replay * replay; 457 struct nfs4_replay * replay;
@@ -570,6 +585,8 @@ extern __be32 nfsd4_delegreturn(struct svc_rqst *rqstp,
570 struct nfsd4_compound_state *, struct nfsd4_delegreturn *dr); 585 struct nfsd4_compound_state *, struct nfsd4_delegreturn *dr);
571extern __be32 nfsd4_renew(struct svc_rqst *rqstp, 586extern __be32 nfsd4_renew(struct svc_rqst *rqstp,
572 struct nfsd4_compound_state *, clientid_t *clid); 587 struct nfsd4_compound_state *, clientid_t *clid);
588extern __be32 nfsd4_test_stateid(struct svc_rqst *rqstp,
589 struct nfsd4_compound_state *, struct nfsd4_test_stateid *test_stateid);
573extern __be32 nfsd4_free_stateid(struct svc_rqst *rqstp, 590extern __be32 nfsd4_free_stateid(struct svc_rqst *rqstp,
574 struct nfsd4_compound_state *, struct nfsd4_free_stateid *free_stateid); 591 struct nfsd4_compound_state *, struct nfsd4_free_stateid *free_stateid);
575#endif 592#endif