Lines Matching refs:op
490 …2 nfsd4_open_omfg(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_op *op) in nfsd4_open_omfg() argument
492 struct nfsd4_open *open = &op->u.open; in nfsd4_open_omfg()
494 if (!seqid_mutating_err(ntohl(op->status))) in nfsd4_open_omfg()
495 return op->status; in nfsd4_open_omfg()
497 return op->status; in nfsd4_open_omfg()
498 open->op_xdr_error = op->status; in nfsd4_open_omfg()
499 return nfsd4_open(rqstp, cstate, &op->u); in nfsd4_open_omfg()
2365 const struct nfsd4_operation *OPDESC(struct nfsd4_op *op) in OPDESC() argument
2367 return &nfsd4_ops[op->opnum]; in OPDESC()
2370 bool nfsd4_cache_this_op(struct nfsd4_op *op) in nfsd4_cache_this_op() argument
2372 if (op->opnum == OP_ILLEGAL) in nfsd4_cache_this_op()
2374 return OPDESC(op)->op_flags & OP_CACHEME; in nfsd4_cache_this_op()
2414 struct nfsd4_op *op, *current_op = NULL, *saved_op = NULL; in check_if_stalefh_allowed() local
2423 op = &args->ops[i]; in check_if_stalefh_allowed()
2424 if (op->opnum == OP_PUTFH) in check_if_stalefh_allowed()
2425 current_op = op; in check_if_stalefh_allowed()
2426 else if (op->opnum == OP_SAVEFH) in check_if_stalefh_allowed()
2428 else if (op->opnum == OP_RESTOREFH) in check_if_stalefh_allowed()
2430 else if (op->opnum == OP_COPY) { in check_if_stalefh_allowed()
2431 copy = (struct nfsd4_copy *)&op->u; in check_if_stalefh_allowed()
2433 op->status = nfserr_nofilehandle; in check_if_stalefh_allowed()
2457 struct nfsd4_op *op; in nfsd4_proc_compound() local
2493 op = &args->ops[0]; in nfsd4_proc_compound()
2494 op->status = status; in nfsd4_proc_compound()
2504 op = &args->ops[resp->opcnt++]; in nfsd4_proc_compound()
2511 op->status = nfserr_resource; in nfsd4_proc_compound()
2521 if (op->status) { in nfsd4_proc_compound()
2522 if (op->opnum == OP_OPEN) in nfsd4_proc_compound()
2523 op->status = nfsd4_open_omfg(rqstp, cstate, op); in nfsd4_proc_compound()
2528 if (!(op->opdesc->op_flags & ALLOWED_WITHOUT_FH)) { in nfsd4_proc_compound()
2529 op->status = nfserr_nofilehandle; in nfsd4_proc_compound()
2534 !(op->opdesc->op_flags & ALLOWED_ON_ABSENT_FS)) { in nfsd4_proc_compound()
2535 op->status = nfserr_moved; in nfsd4_proc_compound()
2542 if (op->opdesc->op_flags & OP_MODIFIES_SOMETHING) { in nfsd4_proc_compound()
2547 u32 plen = op->opdesc->op_rsize_bop(rqstp, op); in nfsd4_proc_compound()
2554 op->status = nfsd4_check_resp_size(resp, plen); in nfsd4_proc_compound()
2557 if (op->status) in nfsd4_proc_compound()
2560 if (op->opdesc->op_get_currentstateid) in nfsd4_proc_compound()
2561 op->opdesc->op_get_currentstateid(cstate, &op->u); in nfsd4_proc_compound()
2562 op->status = op->opdesc->op_func(rqstp, cstate, &op->u); in nfsd4_proc_compound()
2567 status = op->status; in nfsd4_proc_compound()
2570 if (!op->status) { in nfsd4_proc_compound()
2571 if (op->opdesc->op_set_currentstateid) in nfsd4_proc_compound()
2572 op->opdesc->op_set_currentstateid(cstate, &op->u); in nfsd4_proc_compound()
2574 if (op->opdesc->op_flags & OP_CLEAR_STATEID) in nfsd4_proc_compound()
2579 op->status = check_nfsd_access(current_fh->fh_export, rqstp); in nfsd4_proc_compound()
2582 if (op->status == nfserr_replay_me) { in nfsd4_proc_compound()
2583 op->replay = &cstate->replay_owner->so_replay; in nfsd4_proc_compound()
2584 nfsd4_encode_replay(resp->xdr, op); in nfsd4_proc_compound()
2585 status = op->status = op->replay->rp_status; in nfsd4_proc_compound()
2587 nfsd4_encode_operation(resp, op); in nfsd4_proc_compound()
2588 status = op->status; in nfsd4_proc_compound()
2592 status, nfsd4_op_name(op->opnum)); in nfsd4_proc_compound()
2595 nfsd4_increment_op_stats(op->opnum); in nfsd4_proc_compound()
2626 static inline u32 nfsd4_only_status_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_only_status_rsize() argument
2631 static inline u32 nfsd4_status_stateid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_status_stateid_rsize() argument
2636 static inline u32 nfsd4_access_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_access_rsize() argument
2642 static inline u32 nfsd4_commit_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_commit_rsize() argument
2647 static inline u32 nfsd4_create_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_create_rsize() argument
2659 struct nfsd4_op *op) in nfsd4_getattr_rsize() argument
2661 u32 *bmap = op->u.getattr.ga_bmval; in nfsd4_getattr_rsize()
2696 static inline u32 nfsd4_getfh_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_getfh_rsize() argument
2701 static inline u32 nfsd4_link_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_link_rsize() argument
2707 static inline u32 nfsd4_lock_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_lock_rsize() argument
2713 static inline u32 nfsd4_open_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_open_rsize() argument
2721 static inline u32 nfsd4_read_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_read_rsize() argument
2726 rlen = min(op->u.read.rd_length, maxcount); in nfsd4_read_rsize()
2731 static inline u32 nfsd4_read_plus_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_read_plus_rsize() argument
2734 u32 rlen = min(op->u.read.rd_length, maxcount); in nfsd4_read_plus_rsize()
2745 static inline u32 nfsd4_readdir_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_readdir_rsize() argument
2750 rlen = min(op->u.readdir.rd_maxcount, maxcount); in nfsd4_readdir_rsize()
2756 static inline u32 nfsd4_readlink_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_readlink_rsize() argument
2761 static inline u32 nfsd4_remove_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_remove_rsize() argument
2767 static inline u32 nfsd4_rename_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_rename_rsize() argument
2774 struct nfsd4_op *op) in nfsd4_sequence_rsize() argument
2780 static inline u32 nfsd4_test_stateid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_test_stateid_rsize() argument
2782 return (op_encode_hdr_size + 1 + op->u.test_stateid.ts_num_ids) in nfsd4_test_stateid_rsize()
2786 static inline u32 nfsd4_setattr_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_setattr_rsize() argument
2791 static inline u32 nfsd4_secinfo_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_secinfo_rsize() argument
2797 static inline u32 nfsd4_setclientid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_setclientid_rsize() argument
2803 static inline u32 nfsd4_write_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_write_rsize() argument
2808 static inline u32 nfsd4_exchange_id_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_exchange_id_rsize() argument
2822 static inline u32 nfsd4_bind_conn_to_session_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_bind_conn_to_session_rsize() argument
2829 static inline u32 nfsd4_create_session_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_create_session_rsize() argument
2838 static inline u32 nfsd4_copy_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_copy_rsize() argument
2851 struct nfsd4_op *op) in nfsd4_offload_status_rsize() argument
2859 struct nfsd4_op *op) in nfsd4_copy_notify_rsize() argument
2874 static inline u32 nfsd4_getdeviceinfo_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_getdeviceinfo_rsize() argument
2879 rlen = min(op->u.getdeviceinfo.gd_maxcount, maxcount); in nfsd4_getdeviceinfo_rsize()
2892 static inline u32 nfsd4_layoutget_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_layoutget_rsize() argument
2901 static inline u32 nfsd4_layoutcommit_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_layoutcommit_rsize() argument
2908 static inline u32 nfsd4_layoutreturn_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_layoutreturn_rsize() argument
2917 static inline u32 nfsd4_seek_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_seek_rsize() argument
2923 struct nfsd4_op *op) in nfsd4_getxattr_rsize() argument
2934 struct nfsd4_op *op) in nfsd4_setxattr_rsize() argument
2940 struct nfsd4_op *op) in nfsd4_listxattrs_rsize() argument
2945 rlen = min(op->u.listxattrs.lsxa_maxcount, maxcount); in nfsd4_listxattrs_rsize()
2951 struct nfsd4_op *op) in nfsd4_removexattr_rsize() argument
3409 int nfsd4_max_reply(struct svc_rqst *rqstp, struct nfsd4_op *op) in nfsd4_max_reply() argument
3411 if (op->opnum == OP_ILLEGAL || op->status == nfserr_notsupp) in nfsd4_max_reply()
3414 BUG_ON(OPDESC(op)->op_rsize_bop == NULL); in nfsd4_max_reply()
3415 return OPDESC(op)->op_rsize_bop(rqstp, op); in nfsd4_max_reply()
3418 void warn_on_nonidempotent_op(struct nfsd4_op *op) in warn_on_nonidempotent_op() argument
3420 if (OPDESC(op)->op_flags & OP_MODIFIES_SOMETHING) { in warn_on_nonidempotent_op()
3422 op->opnum, nfsd4_op_name(op->opnum)); in warn_on_nonidempotent_op()