diff options
Diffstat (limited to 'fs/nfsd/xdr4.h')
-rw-r--r-- | fs/nfsd/xdr4.h | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/fs/nfsd/xdr4.h b/fs/nfsd/xdr4.h index 4d476ff08ae6..366401e1a536 100644 --- a/fs/nfsd/xdr4.h +++ b/fs/nfsd/xdr4.h | |||
@@ -311,6 +311,11 @@ struct nfsd4_secinfo { | |||
311 | struct svc_export *si_exp; /* response */ | 311 | struct svc_export *si_exp; /* response */ |
312 | }; | 312 | }; |
313 | 313 | ||
314 | struct nfsd4_secinfo_no_name { | ||
315 | u32 sin_style; /* request */ | ||
316 | struct svc_export *sin_exp; /* response */ | ||
317 | }; | ||
318 | |||
314 | struct nfsd4_setattr { | 319 | struct nfsd4_setattr { |
315 | stateid_t sa_stateid; /* request */ | 320 | stateid_t sa_stateid; /* request */ |
316 | u32 sa_bmval[3]; /* request */ | 321 | u32 sa_bmval[3]; /* request */ |
@@ -373,8 +378,8 @@ struct nfsd4_sequence { | |||
373 | u32 cachethis; /* request */ | 378 | u32 cachethis; /* request */ |
374 | #if 0 | 379 | #if 0 |
375 | u32 target_maxslots; /* response */ | 380 | u32 target_maxslots; /* response */ |
376 | u32 status_flags; /* response */ | ||
377 | #endif /* not yet */ | 381 | #endif /* not yet */ |
382 | u32 status_flags; /* response */ | ||
378 | }; | 383 | }; |
379 | 384 | ||
380 | struct nfsd4_destroy_session { | 385 | struct nfsd4_destroy_session { |
@@ -422,6 +427,7 @@ struct nfsd4_op { | |||
422 | 427 | ||
423 | /* NFSv4.1 */ | 428 | /* NFSv4.1 */ |
424 | struct nfsd4_exchange_id exchange_id; | 429 | struct nfsd4_exchange_id exchange_id; |
430 | struct nfsd4_bind_conn_to_session bind_conn_to_session; | ||
425 | struct nfsd4_create_session create_session; | 431 | struct nfsd4_create_session create_session; |
426 | struct nfsd4_destroy_session destroy_session; | 432 | struct nfsd4_destroy_session destroy_session; |
427 | struct nfsd4_sequence sequence; | 433 | struct nfsd4_sequence sequence; |
@@ -484,18 +490,17 @@ static inline bool nfsd4_not_cached(struct nfsd4_compoundres *resp) | |||
484 | static inline void | 490 | static inline void |
485 | set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp) | 491 | set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp) |
486 | { | 492 | { |
487 | BUG_ON(!fhp->fh_pre_saved || !fhp->fh_post_saved); | 493 | BUG_ON(!fhp->fh_pre_saved); |
488 | cinfo->atomic = 1; | 494 | cinfo->atomic = fhp->fh_post_saved; |
489 | cinfo->change_supported = IS_I_VERSION(fhp->fh_dentry->d_inode); | 495 | cinfo->change_supported = IS_I_VERSION(fhp->fh_dentry->d_inode); |
490 | if (cinfo->change_supported) { | 496 | |
491 | cinfo->before_change = fhp->fh_pre_change; | 497 | cinfo->before_change = fhp->fh_pre_change; |
492 | cinfo->after_change = fhp->fh_post_change; | 498 | cinfo->after_change = fhp->fh_post_change; |
493 | } else { | 499 | cinfo->before_ctime_sec = fhp->fh_pre_ctime.tv_sec; |
494 | cinfo->before_ctime_sec = fhp->fh_pre_ctime.tv_sec; | 500 | cinfo->before_ctime_nsec = fhp->fh_pre_ctime.tv_nsec; |
495 | cinfo->before_ctime_nsec = fhp->fh_pre_ctime.tv_nsec; | 501 | cinfo->after_ctime_sec = fhp->fh_post_attr.ctime.tv_sec; |
496 | cinfo->after_ctime_sec = fhp->fh_post_attr.ctime.tv_sec; | 502 | cinfo->after_ctime_nsec = fhp->fh_post_attr.ctime.tv_nsec; |
497 | cinfo->after_ctime_nsec = fhp->fh_post_attr.ctime.tv_nsec; | 503 | |
498 | } | ||
499 | } | 504 | } |
500 | 505 | ||
501 | int nfs4svc_encode_voidres(struct svc_rqst *, __be32 *, void *); | 506 | int nfs4svc_encode_voidres(struct svc_rqst *, __be32 *, void *); |
@@ -519,6 +524,7 @@ extern __be32 nfsd4_replay_cache_entry(struct nfsd4_compoundres *resp, | |||
519 | struct nfsd4_sequence *seq); | 524 | struct nfsd4_sequence *seq); |
520 | extern __be32 nfsd4_exchange_id(struct svc_rqst *rqstp, | 525 | extern __be32 nfsd4_exchange_id(struct svc_rqst *rqstp, |
521 | struct nfsd4_compound_state *, struct nfsd4_exchange_id *); | 526 | struct nfsd4_compound_state *, struct nfsd4_exchange_id *); |
527 | extern __be32 nfsd4_bind_conn_to_session(struct svc_rqst *, struct nfsd4_compound_state *, struct nfsd4_bind_conn_to_session *); | ||
522 | extern __be32 nfsd4_create_session(struct svc_rqst *, | 528 | extern __be32 nfsd4_create_session(struct svc_rqst *, |
523 | struct nfsd4_compound_state *, | 529 | struct nfsd4_compound_state *, |
524 | struct nfsd4_create_session *); | 530 | struct nfsd4_create_session *); |