Lines Matching refs:rqstp
660 svc_sendreply_common(struct svc_req *rqstp, struct rpc_msg *rply, in svc_sendreply_common() argument
663 SVCXPRT *xprt = rqstp->rq_xprt; in svc_sendreply_common()
666 if (rqstp->rq_args) { in svc_sendreply_common()
667 m_freem(rqstp->rq_args); in svc_sendreply_common()
668 rqstp->rq_args = NULL; in svc_sendreply_common()
673 rply, svc_getrpccaller(rqstp), body); in svc_sendreply_common()
675 if (!SVCAUTH_WRAP(&rqstp->rq_auth, &body)) in svc_sendreply_common()
678 ok = SVC_REPLY(xprt, rply, rqstp->rq_addr, body, &rqstp->rq_reply_seq); in svc_sendreply_common()
679 if (rqstp->rq_addr) { in svc_sendreply_common()
680 free(rqstp->rq_addr, M_SONAME); in svc_sendreply_common()
681 rqstp->rq_addr = NULL; in svc_sendreply_common()
691 svc_sendreply(struct svc_req *rqstp, xdrproc_t xdr_results, void * xdr_location) in svc_sendreply() argument
698 rply.rm_xid = rqstp->rq_xid; in svc_sendreply()
701 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svc_sendreply()
712 return (svc_sendreply_common(rqstp, &rply, m)); in svc_sendreply()
720 svc_sendreply_mbuf(struct svc_req *rqstp, struct mbuf *m) in svc_sendreply_mbuf() argument
724 rply.rm_xid = rqstp->rq_xid; in svc_sendreply_mbuf()
727 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svc_sendreply_mbuf()
732 return (svc_sendreply_common(rqstp, &rply, m)); in svc_sendreply_mbuf()
739 svcerr_noproc(struct svc_req *rqstp) in svcerr_noproc() argument
741 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_noproc()
744 rply.rm_xid = rqstp->rq_xid; in svcerr_noproc()
747 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svcerr_noproc()
752 &rply, svc_getrpccaller(rqstp), NULL); in svcerr_noproc()
754 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_noproc()
761 svcerr_decode(struct svc_req *rqstp) in svcerr_decode() argument
763 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_decode()
766 rply.rm_xid = rqstp->rq_xid; in svcerr_decode()
769 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svcerr_decode()
776 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_decode()
783 svcerr_systemerr(struct svc_req *rqstp) in svcerr_systemerr() argument
785 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_systemerr()
788 rply.rm_xid = rqstp->rq_xid; in svcerr_systemerr()
791 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svcerr_systemerr()
796 &rply, svc_getrpccaller(rqstp), NULL); in svcerr_systemerr()
798 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_systemerr()
805 svcerr_auth(struct svc_req *rqstp, enum auth_stat why) in svcerr_auth() argument
807 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_auth()
810 rply.rm_xid = rqstp->rq_xid; in svcerr_auth()
818 &rply, svc_getrpccaller(rqstp), NULL); in svcerr_auth()
820 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_auth()
827 svcerr_weakauth(struct svc_req *rqstp) in svcerr_weakauth() argument
830 svcerr_auth(rqstp, AUTH_TOOWEAK); in svcerr_weakauth()
837 svcerr_noprog(struct svc_req *rqstp) in svcerr_noprog() argument
839 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_noprog()
842 rply.rm_xid = rqstp->rq_xid; in svcerr_noprog()
845 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svcerr_noprog()
850 &rply, svc_getrpccaller(rqstp), NULL); in svcerr_noprog()
852 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_noprog()
859 svcerr_progvers(struct svc_req *rqstp, rpcvers_t low_vers, rpcvers_t high_vers) in svcerr_progvers() argument
861 SVCXPRT *xprt = rqstp->rq_xprt; in svcerr_progvers()
864 rply.rm_xid = rqstp->rq_xid; in svcerr_progvers()
867 rply.acpted_rply.ar_verf = rqstp->rq_verf; in svcerr_progvers()
874 &rply, svc_getrpccaller(rqstp), NULL); in svcerr_progvers()
876 svc_sendreply_common(rqstp, &rply, NULL); in svcerr_progvers()
1032 svc_executereq(struct svc_req *rqstp) in svc_executereq() argument
1034 SVCXPRT *xprt = rqstp->rq_xprt; in svc_executereq()
1046 if (s->sc_prog == rqstp->rq_prog) { in svc_executereq()
1047 if (s->sc_vers == rqstp->rq_vers) { in svc_executereq()
1053 (*s->sc_dispatch)(rqstp, xprt); in svc_executereq()
1069 svcerr_progvers(rqstp, low_vers, high_vers); in svc_executereq()
1071 svcerr_noprog(rqstp); in svc_executereq()
1073 svc_freereq(rqstp); in svc_executereq()
1164 struct svc_req *rqstp; in svc_run_internal() local
1278 rqstp = NULL; in svc_run_internal()
1279 stat = svc_getreq(xprt, &rqstp); in svc_run_internal()
1280 if (rqstp) { in svc_run_internal()
1281 svc_change_space_used(pool, rqstp->rq_size); in svc_run_internal()
1287 stpref = pool->sp_assign(st, rqstp); in svc_run_internal()
1288 rqstp->rq_thread = stpref; in svc_run_internal()
1290 rqstp, rq_link); in svc_run_internal()
1293 rqstp = NULL; in svc_run_internal()
1295 rqstp->rq_thread = st; in svc_run_internal()
1297 rqstp, rq_link); in svc_run_internal()
1300 } while (rqstp == NULL && stat == XPRT_MOREREQS in svc_run_internal()
1325 while ((rqstp = STAILQ_FIRST(&st->st_reqs)) != NULL) { in svc_run_internal()
1328 sz = (long)rqstp->rq_size; in svc_run_internal()
1329 svc_executereq(rqstp); in svc_run_internal()
1441 svc_getargs(struct svc_req *rqstp, xdrproc_t xargs, void *args) in svc_getargs() argument
1447 m = rqstp->rq_args; in svc_getargs()
1448 rqstp->rq_args = NULL; in svc_getargs()
1458 svc_freeargs(struct svc_req *rqstp, xdrproc_t xargs, void *args) in svc_freeargs() argument
1462 if (rqstp->rq_addr) { in svc_freeargs()
1463 free(rqstp->rq_addr, M_SONAME); in svc_freeargs()
1464 rqstp->rq_addr = NULL; in svc_freeargs()
1472 svc_freereq(struct svc_req *rqstp) in svc_freereq() argument
1477 st = rqstp->rq_thread; in svc_freereq()
1481 pool->sp_done(st, rqstp); in svc_freereq()
1484 if (rqstp->rq_auth.svc_ah_ops) in svc_freereq()
1485 SVCAUTH_RELEASE(&rqstp->rq_auth); in svc_freereq()
1487 if (rqstp->rq_xprt) { in svc_freereq()
1488 SVC_RELEASE(rqstp->rq_xprt); in svc_freereq()
1491 if (rqstp->rq_addr) in svc_freereq()
1492 free(rqstp->rq_addr, M_SONAME); in svc_freereq()
1494 if (rqstp->rq_args) in svc_freereq()
1495 m_freem(rqstp->rq_args); in svc_freereq()
1497 free(rqstp, M_RPC); in svc_freereq()