diff options
Diffstat (limited to 'fs/nfsd/xdr4.h')
-rw-r--r-- | fs/nfsd/xdr4.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/fs/nfsd/xdr4.h b/fs/nfsd/xdr4.h index acd127d4ee82..0889bfb43dc9 100644 --- a/fs/nfsd/xdr4.h +++ b/fs/nfsd/xdr4.h | |||
@@ -385,7 +385,8 @@ struct nfsd4_write { | |||
385 | u64 wr_offset; /* request */ | 385 | u64 wr_offset; /* request */ |
386 | u32 wr_stable_how; /* request */ | 386 | u32 wr_stable_how; /* request */ |
387 | u32 wr_buflen; /* request */ | 387 | u32 wr_buflen; /* request */ |
388 | int wr_vlen; | 388 | struct kvec wr_head; |
389 | struct page ** wr_pagelist; /* request */ | ||
389 | 390 | ||
390 | u32 wr_bytes_written; /* response */ | 391 | u32 wr_bytes_written; /* response */ |
391 | u32 wr_how_written; /* response */ | 392 | u32 wr_how_written; /* response */ |
@@ -462,6 +463,7 @@ struct nfsd4_op { | |||
462 | 463 | ||
463 | /* NFSv4.1 */ | 464 | /* NFSv4.1 */ |
464 | struct nfsd4_exchange_id exchange_id; | 465 | struct nfsd4_exchange_id exchange_id; |
466 | struct nfsd4_backchannel_ctl backchannel_ctl; | ||
465 | struct nfsd4_bind_conn_to_session bind_conn_to_session; | 467 | struct nfsd4_bind_conn_to_session bind_conn_to_session; |
466 | struct nfsd4_create_session create_session; | 468 | struct nfsd4_create_session create_session; |
467 | struct nfsd4_destroy_session destroy_session; | 469 | struct nfsd4_destroy_session destroy_session; |
@@ -526,6 +528,14 @@ static inline bool nfsd4_not_cached(struct nfsd4_compoundres *resp) | |||
526 | || nfsd4_is_solo_sequence(resp); | 528 | || nfsd4_is_solo_sequence(resp); |
527 | } | 529 | } |
528 | 530 | ||
531 | static inline bool nfsd4_last_compound_op(struct svc_rqst *rqstp) | ||
532 | { | ||
533 | struct nfsd4_compoundres *resp = rqstp->rq_resp; | ||
534 | struct nfsd4_compoundargs *argp = rqstp->rq_argp; | ||
535 | |||
536 | return argp->opcnt == resp->opcnt; | ||
537 | } | ||
538 | |||
529 | #define NFS4_SVC_XDRSIZE sizeof(struct nfsd4_compoundargs) | 539 | #define NFS4_SVC_XDRSIZE sizeof(struct nfsd4_compoundargs) |
530 | 540 | ||
531 | static inline void | 541 | static inline void |
@@ -566,6 +576,7 @@ extern __be32 nfsd4_replay_cache_entry(struct nfsd4_compoundres *resp, | |||
566 | struct nfsd4_sequence *seq); | 576 | struct nfsd4_sequence *seq); |
567 | extern __be32 nfsd4_exchange_id(struct svc_rqst *rqstp, | 577 | extern __be32 nfsd4_exchange_id(struct svc_rqst *rqstp, |
568 | struct nfsd4_compound_state *, struct nfsd4_exchange_id *); | 578 | struct nfsd4_compound_state *, struct nfsd4_exchange_id *); |
579 | extern __be32 nfsd4_backchannel_ctl(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_backchannel_ctl *); | ||
569 | extern __be32 nfsd4_bind_conn_to_session(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_bind_conn_to_session *); | 580 | extern __be32 nfsd4_bind_conn_to_session(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_bind_conn_to_session *); |
570 | extern __be32 nfsd4_create_session(struct svc_rqst *, | 581 | extern __be32 nfsd4_create_session(struct svc_rqst *, |
571 | struct nfsd4_compound_state *, | 582 | struct nfsd4_compound_state *, |
@@ -579,7 +590,7 @@ extern __be32 nfsd4_destroy_session(struct svc_rqst *, | |||
579 | extern __be32 nfsd4_destroy_clientid(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_destroy_clientid *); | 590 | extern __be32 nfsd4_destroy_clientid(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_destroy_clientid *); |
580 | __be32 nfsd4_reclaim_complete(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_reclaim_complete *); | 591 | __be32 nfsd4_reclaim_complete(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_reclaim_complete *); |
581 | extern __be32 nfsd4_process_open1(struct nfsd4_compound_state *, | 592 | extern __be32 nfsd4_process_open1(struct nfsd4_compound_state *, |
582 | struct nfsd4_open *open); | 593 | struct nfsd4_open *open, struct nfsd_net *nn); |
583 | extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp, | 594 | extern __be32 nfsd4_process_open2(struct svc_rqst *rqstp, |
584 | struct svc_fh *current_fh, struct nfsd4_open *open); | 595 | struct svc_fh *current_fh, struct nfsd4_open *open); |
585 | extern void nfsd4_cleanup_open_state(struct nfsd4_open *open, __be32 status); | 596 | extern void nfsd4_cleanup_open_state(struct nfsd4_open *open, __be32 status); |