diff options
Diffstat (limited to 'include/linux/nfsd/xdr4.h')
-rw-r--r-- | include/linux/nfsd/xdr4.h | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h index 45ca01b5f844..09799bcee0ac 100644 --- a/include/linux/nfsd/xdr4.h +++ b/include/linux/nfsd/xdr4.h | |||
@@ -44,6 +44,12 @@ | |||
44 | #define NFSD4_MAX_TAGLEN 128 | 44 | #define NFSD4_MAX_TAGLEN 128 |
45 | #define XDR_LEN(n) (((n) + 3) & ~3) | 45 | #define XDR_LEN(n) (((n) + 3) & ~3) |
46 | 46 | ||
47 | struct nfsd4_compound_state { | ||
48 | struct svc_fh current_fh; | ||
49 | struct svc_fh save_fh; | ||
50 | struct nfs4_stateowner *replay_owner; | ||
51 | }; | ||
52 | |||
47 | struct nfsd4_change_info { | 53 | struct nfsd4_change_info { |
48 | u32 atomic; | 54 | u32 atomic; |
49 | u32 before_ctime_sec; | 55 | u32 before_ctime_sec; |
@@ -430,35 +436,39 @@ __be32 nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, | |||
430 | struct dentry *dentry, __be32 *buffer, int *countp, | 436 | struct dentry *dentry, __be32 *buffer, int *countp, |
431 | u32 *bmval, struct svc_rqst *); | 437 | u32 *bmval, struct svc_rqst *); |
432 | extern __be32 nfsd4_setclientid(struct svc_rqst *rqstp, | 438 | extern __be32 nfsd4_setclientid(struct svc_rqst *rqstp, |
439 | struct nfsd4_compound_state *, | ||
433 | struct nfsd4_setclientid *setclid); | 440 | struct nfsd4_setclientid *setclid); |
434 | extern __be32 nfsd4_setclientid_confirm(struct svc_rqst *rqstp, | 441 | extern __be32 nfsd4_setclientid_confirm(struct svc_rqst *rqstp, |
442 | struct nfsd4_compound_state *, | ||
435 | struct nfsd4_setclientid_confirm *setclientid_confirm); | 443 | struct nfsd4_setclientid_confirm *setclientid_confirm); |
436 | extern __be32 nfsd4_process_open1(struct nfsd4_open *open); | 444 | extern __be32 nfsd4_process_open1(struct nfsd4_open *open); |
437 | extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp, | 445 | extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp, |
438 | struct svc_fh *current_fh, struct nfsd4_open *open); | 446 | struct svc_fh *current_fh, struct nfsd4_open *open); |
439 | extern __be32 nfsd4_open_confirm(struct svc_rqst *rqstp, | 447 | extern __be32 nfsd4_open_confirm(struct svc_rqst *rqstp, |
440 | struct svc_fh *current_fh, struct nfsd4_open_confirm *oc, | 448 | struct nfsd4_compound_state *, struct nfsd4_open_confirm *oc); |
441 | struct nfs4_stateowner **); | 449 | extern __be32 nfsd4_close(struct svc_rqst *rqstp, |
442 | extern __be32 nfsd4_close(struct svc_rqst *rqstp, struct svc_fh *current_fh, | 450 | struct nfsd4_compound_state *, |
443 | struct nfsd4_close *close, | 451 | struct nfsd4_close *close); |
444 | struct nfs4_stateowner **replay_owner); | ||
445 | extern __be32 nfsd4_open_downgrade(struct svc_rqst *rqstp, | 452 | extern __be32 nfsd4_open_downgrade(struct svc_rqst *rqstp, |
446 | struct svc_fh *current_fh, struct nfsd4_open_downgrade *od, | 453 | struct nfsd4_compound_state *, |
447 | struct nfs4_stateowner **replay_owner); | 454 | struct nfsd4_open_downgrade *od); |
448 | extern __be32 nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, | 455 | extern __be32 nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *, |
449 | struct nfsd4_lock *lock, | 456 | struct nfsd4_lock *lock); |
450 | struct nfs4_stateowner **replay_owner); | 457 | extern __be32 nfsd4_lockt(struct svc_rqst *rqstp, |
451 | extern __be32 nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh, | 458 | struct nfsd4_compound_state *, |
452 | struct nfsd4_lockt *lockt); | 459 | struct nfsd4_lockt *lockt); |
453 | extern __be32 nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh, | 460 | extern __be32 nfsd4_locku(struct svc_rqst *rqstp, |
454 | struct nfsd4_locku *locku, | 461 | struct nfsd4_compound_state *, |
455 | struct nfs4_stateowner **replay_owner); | 462 | struct nfsd4_locku *locku); |
456 | extern __be32 | 463 | extern __be32 |
457 | nfsd4_release_lockowner(struct svc_rqst *rqstp, | 464 | nfsd4_release_lockowner(struct svc_rqst *rqstp, |
465 | struct nfsd4_compound_state *, | ||
458 | struct nfsd4_release_lockowner *rlockowner); | 466 | struct nfsd4_release_lockowner *rlockowner); |
459 | extern void nfsd4_release_compoundargs(struct nfsd4_compoundargs *); | 467 | extern void nfsd4_release_compoundargs(struct nfsd4_compoundargs *); |
460 | extern __be32 nfsd4_delegreturn(struct svc_rqst *rqstp, | 468 | extern __be32 nfsd4_delegreturn(struct svc_rqst *rqstp, |
461 | struct svc_fh *current_fh, struct nfsd4_delegreturn *dr); | 469 | struct nfsd4_compound_state *, struct nfsd4_delegreturn *dr); |
470 | extern __be32 nfsd4_renew(struct svc_rqst *rqstp, | ||
471 | struct nfsd4_compound_state *, clientid_t *clid); | ||
462 | #endif | 472 | #endif |
463 | 473 | ||
464 | /* | 474 | /* |