Lines Matching refs:task
60 static void call_start(struct rpc_task *task);
61 static void call_reserve(struct rpc_task *task);
62 static void call_reserveresult(struct rpc_task *task);
63 static void call_allocate(struct rpc_task *task);
64 static void call_decode(struct rpc_task *task);
65 static void call_bind(struct rpc_task *task);
66 static void call_bind_status(struct rpc_task *task);
67 static void call_transmit(struct rpc_task *task);
69 static void call_bc_transmit(struct rpc_task *task);
71 static void call_status(struct rpc_task *task);
72 static void call_transmit_status(struct rpc_task *task);
73 static void call_refresh(struct rpc_task *task);
74 static void call_refreshresult(struct rpc_task *task);
75 static void call_timeout(struct rpc_task *task);
76 static void call_connect(struct rpc_task *task);
77 static void call_connect_status(struct rpc_task *task);
79 static __be32 *rpc_encode_header(struct rpc_task *task);
80 static __be32 *rpc_verify_header(struct rpc_task *task);
968 void rpc_task_release_transport(struct rpc_task *task) in rpc_task_release_transport() argument
970 struct rpc_xprt *xprt = task->tk_xprt; in rpc_task_release_transport()
973 task->tk_xprt = NULL; in rpc_task_release_transport()
979 void rpc_task_release_client(struct rpc_task *task) in rpc_task_release_client() argument
981 struct rpc_clnt *clnt = task->tk_client; in rpc_task_release_client()
986 list_del(&task->tk_task); in rpc_task_release_client()
988 task->tk_client = NULL; in rpc_task_release_client()
992 rpc_task_release_transport(task); in rpc_task_release_client()
996 void rpc_task_set_transport(struct rpc_task *task, struct rpc_clnt *clnt) in rpc_task_set_transport() argument
998 if (!task->tk_xprt) in rpc_task_set_transport()
999 task->tk_xprt = xprt_iter_get_next(&clnt->cl_xpi); in rpc_task_set_transport()
1003 void rpc_task_set_client(struct rpc_task *task, struct rpc_clnt *clnt) in rpc_task_set_client() argument
1007 rpc_task_set_transport(task, clnt); in rpc_task_set_client()
1008 task->tk_client = clnt; in rpc_task_set_client()
1011 task->tk_flags |= RPC_TASK_SOFT; in rpc_task_set_client()
1013 task->tk_flags |= RPC_TASK_NO_RETRANS_TIMEOUT; in rpc_task_set_client()
1015 task->tk_flags |= RPC_TASK_SWAPPER; in rpc_task_set_client()
1018 list_add_tail(&task->tk_task, &clnt->cl_tasks); in rpc_task_set_client()
1024 rpc_task_set_rpc_message(struct rpc_task *task, const struct rpc_message *msg) in rpc_task_set_rpc_message() argument
1027 task->tk_msg.rpc_proc = msg->rpc_proc; in rpc_task_set_rpc_message()
1028 task->tk_msg.rpc_argp = msg->rpc_argp; in rpc_task_set_rpc_message()
1029 task->tk_msg.rpc_resp = msg->rpc_resp; in rpc_task_set_rpc_message()
1031 task->tk_msg.rpc_cred = get_rpccred(msg->rpc_cred); in rpc_task_set_rpc_message()
1039 rpc_default_callback(struct rpc_task *task, void *data) in rpc_default_callback() argument
1053 struct rpc_task *task; in rpc_run_task() local
1055 task = rpc_new_task(task_setup_data); in rpc_run_task()
1057 rpc_task_set_client(task, task_setup_data->rpc_client); in rpc_run_task()
1058 rpc_task_set_rpc_message(task, task_setup_data->rpc_message); in rpc_run_task()
1060 if (task->tk_action == NULL) in rpc_run_task()
1061 rpc_call_start(task); in rpc_run_task()
1063 atomic_inc(&task->tk_count); in rpc_run_task()
1064 rpc_execute(task); in rpc_run_task()
1065 return task; in rpc_run_task()
1077 struct rpc_task *task; in rpc_call_sync() local
1093 task = rpc_run_task(&task_setup_data); in rpc_call_sync()
1094 if (IS_ERR(task)) in rpc_call_sync()
1095 return PTR_ERR(task); in rpc_call_sync()
1096 status = task->tk_status; in rpc_call_sync()
1097 rpc_put_task(task); in rpc_call_sync()
1114 struct rpc_task *task; in rpc_call_async() local
1123 task = rpc_run_task(&task_setup_data); in rpc_call_async()
1124 if (IS_ERR(task)) in rpc_call_async()
1125 return PTR_ERR(task); in rpc_call_async()
1126 rpc_put_task(task); in rpc_call_async()
1139 struct rpc_task *task; in rpc_run_bc_task() local
1150 task = rpc_new_task(&task_setup_data); in rpc_run_bc_task()
1151 task->tk_rqstp = req; in rpc_run_bc_task()
1160 task->tk_action = call_bc_transmit; in rpc_run_bc_task()
1161 atomic_inc(&task->tk_count); in rpc_run_bc_task()
1162 WARN_ON_ONCE(atomic_read(&task->tk_count) != 2); in rpc_run_bc_task()
1163 rpc_execute(task); in rpc_run_bc_task()
1165 dprintk("RPC: rpc_run_bc_task: task= %p\n", task); in rpc_run_bc_task()
1166 return task; in rpc_run_bc_task()
1171 rpc_call_start(struct rpc_task *task) in rpc_call_start() argument
1173 task->tk_action = call_start; in rpc_call_start()
1462 rpc_restart_call_prepare(struct rpc_task *task) in rpc_restart_call_prepare() argument
1464 if (RPC_ASSASSINATED(task)) in rpc_restart_call_prepare()
1466 task->tk_action = call_start; in rpc_restart_call_prepare()
1467 task->tk_status = 0; in rpc_restart_call_prepare()
1468 if (task->tk_ops->rpc_call_prepare != NULL) in rpc_restart_call_prepare()
1469 task->tk_action = rpc_prepare_task; in rpc_restart_call_prepare()
1479 rpc_restart_call(struct rpc_task *task) in rpc_restart_call() argument
1481 if (RPC_ASSASSINATED(task)) in rpc_restart_call()
1483 task->tk_action = call_start; in rpc_restart_call()
1484 task->tk_status = 0; in rpc_restart_call()
1490 *rpc_proc_name(const struct rpc_task *task) in rpc_proc_name() argument
1492 const struct rpc_procinfo *proc = task->tk_msg.rpc_proc; in rpc_proc_name()
1510 call_start(struct rpc_task *task) in call_start() argument
1512 struct rpc_clnt *clnt = task->tk_client; in call_start()
1513 int idx = task->tk_msg.rpc_proc->p_statidx; in call_start()
1515 trace_rpc_request(task); in call_start()
1516 dprintk("RPC: %5u call_start %s%d proc %s (%s)\n", task->tk_pid, in call_start()
1518 rpc_proc_name(task), in call_start()
1519 (RPC_IS_ASYNC(task) ? "async" : "sync")); in call_start()
1525 task->tk_action = call_reserve; in call_start()
1526 rpc_task_set_transport(task, clnt); in call_start()
1533 call_reserve(struct rpc_task *task) in call_reserve() argument
1535 dprint_status(task); in call_reserve()
1537 task->tk_status = 0; in call_reserve()
1538 task->tk_action = call_reserveresult; in call_reserve()
1539 xprt_reserve(task); in call_reserve()
1542 static void call_retry_reserve(struct rpc_task *task);
1548 call_reserveresult(struct rpc_task *task) in call_reserveresult() argument
1550 int status = task->tk_status; in call_reserveresult()
1552 dprint_status(task); in call_reserveresult()
1558 task->tk_status = 0; in call_reserveresult()
1560 if (task->tk_rqstp) { in call_reserveresult()
1561 xprt_request_init(task); in call_reserveresult()
1562 task->tk_action = call_refresh; in call_reserveresult()
1568 rpc_exit(task, -EIO); in call_reserveresult()
1576 if (task->tk_rqstp) { in call_reserveresult()
1579 xprt_release(task); in call_reserveresult()
1584 rpc_delay(task, HZ >> 2); in call_reserveresult()
1587 task->tk_action = call_retry_reserve; in call_reserveresult()
1596 rpc_exit(task, status); in call_reserveresult()
1603 call_retry_reserve(struct rpc_task *task) in call_retry_reserve() argument
1605 dprint_status(task); in call_retry_reserve()
1607 task->tk_status = 0; in call_retry_reserve()
1608 task->tk_action = call_reserveresult; in call_retry_reserve()
1609 xprt_retry_reserve(task); in call_retry_reserve()
1616 call_refresh(struct rpc_task *task) in call_refresh() argument
1618 dprint_status(task); in call_refresh()
1620 task->tk_action = call_refreshresult; in call_refresh()
1621 task->tk_status = 0; in call_refresh()
1622 task->tk_client->cl_stats->rpcauthrefresh++; in call_refresh()
1623 rpcauth_refreshcred(task); in call_refresh()
1630 call_refreshresult(struct rpc_task *task) in call_refreshresult() argument
1632 int status = task->tk_status; in call_refreshresult()
1634 dprint_status(task); in call_refreshresult()
1636 task->tk_status = 0; in call_refreshresult()
1637 task->tk_action = call_refresh; in call_refreshresult()
1640 if (rpcauth_uptodatecred(task)) { in call_refreshresult()
1641 task->tk_action = call_allocate; in call_refreshresult()
1649 rpc_delay(task, 3*HZ); in call_refreshresult()
1655 if (!task->tk_cred_retry) in call_refreshresult()
1657 task->tk_cred_retry--; in call_refreshresult()
1659 task->tk_pid, __func__); in call_refreshresult()
1663 task->tk_pid, __func__, status); in call_refreshresult()
1664 rpc_exit(task, status); in call_refreshresult()
1672 call_allocate(struct rpc_task *task) in call_allocate() argument
1674 unsigned int slack = task->tk_rqstp->rq_cred->cr_auth->au_cslack; in call_allocate()
1675 struct rpc_rqst *req = task->tk_rqstp; in call_allocate()
1677 const struct rpc_procinfo *proc = task->tk_msg.rpc_proc; in call_allocate()
1680 dprint_status(task); in call_allocate()
1682 task->tk_status = 0; in call_allocate()
1683 task->tk_action = call_bind; in call_allocate()
1704 status = xprt->ops->buf_alloc(task); in call_allocate()
1709 rpc_exit(task, status); in call_allocate()
1713 dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid); in call_allocate()
1715 if (RPC_IS_ASYNC(task) || !fatal_signal_pending(current)) { in call_allocate()
1716 task->tk_action = call_allocate; in call_allocate()
1717 rpc_delay(task, HZ>>4); in call_allocate()
1721 rpc_exit(task, -ERESTARTSYS); in call_allocate()
1725 rpc_task_need_encode(struct rpc_task *task) in rpc_task_need_encode() argument
1727 return task->tk_rqstp->rq_snd_buf.len == 0; in rpc_task_need_encode()
1731 rpc_task_force_reencode(struct rpc_task *task) in rpc_task_force_reencode() argument
1733 task->tk_rqstp->rq_snd_buf.len = 0; in rpc_task_force_reencode()
1734 task->tk_rqstp->rq_bytes_sent = 0; in rpc_task_force_reencode()
1741 rpc_xdr_encode(struct rpc_task *task) in rpc_xdr_encode() argument
1743 struct rpc_rqst *req = task->tk_rqstp; in rpc_xdr_encode()
1747 dprint_status(task); in rpc_xdr_encode()
1756 p = rpc_encode_header(task); in rpc_xdr_encode()
1759 rpc_exit(task, -EIO); in rpc_xdr_encode()
1763 encode = task->tk_msg.rpc_proc->p_encode; in rpc_xdr_encode()
1767 task->tk_status = rpcauth_wrap_req(task, encode, req, p, in rpc_xdr_encode()
1768 task->tk_msg.rpc_argp); in rpc_xdr_encode()
1775 call_bind(struct rpc_task *task) in call_bind() argument
1777 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt; in call_bind()
1779 dprint_status(task); in call_bind()
1781 task->tk_action = call_connect; in call_bind()
1783 task->tk_action = call_bind_status; in call_bind()
1784 task->tk_timeout = xprt->bind_timeout; in call_bind()
1785 xprt->ops->rpcbind(task); in call_bind()
1793 call_bind_status(struct rpc_task *task) in call_bind_status() argument
1797 if (task->tk_status >= 0) { in call_bind_status()
1798 dprint_status(task); in call_bind_status()
1799 task->tk_status = 0; in call_bind_status()
1800 task->tk_action = call_connect; in call_bind_status()
1804 trace_rpc_bind_status(task); in call_bind_status()
1805 switch (task->tk_status) { in call_bind_status()
1807 dprintk("RPC: %5u rpcbind out of memory\n", task->tk_pid); in call_bind_status()
1808 rpc_delay(task, HZ >> 2); in call_bind_status()
1812 "unavailable\n", task->tk_pid); in call_bind_status()
1814 if (task->tk_msg.rpc_proc->p_proc == 0) { in call_bind_status()
1818 if (task->tk_rebind_retry == 0) in call_bind_status()
1820 task->tk_rebind_retry--; in call_bind_status()
1821 rpc_delay(task, 3*HZ); in call_bind_status()
1825 task->tk_pid); in call_bind_status()
1830 task->tk_pid); in call_bind_status()
1834 task->tk_pid); in call_bind_status()
1847 task->tk_pid, task->tk_status); in call_bind_status()
1848 if (!RPC_IS_SOFTCONN(task)) { in call_bind_status()
1849 rpc_delay(task, 5*HZ); in call_bind_status()
1852 status = task->tk_status; in call_bind_status()
1856 task->tk_pid, -task->tk_status); in call_bind_status()
1859 rpc_exit(task, status); in call_bind_status()
1863 task->tk_status = 0; in call_bind_status()
1864 task->tk_action = call_timeout; in call_bind_status()
1871 call_connect(struct rpc_task *task) in call_connect() argument
1873 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt; in call_connect()
1876 task->tk_pid, xprt, in call_connect()
1879 task->tk_action = call_transmit; in call_connect()
1881 task->tk_action = call_connect_status; in call_connect()
1882 if (task->tk_status < 0) in call_connect()
1884 if (task->tk_flags & RPC_TASK_NOCONNECT) { in call_connect()
1885 rpc_exit(task, -ENOTCONN); in call_connect()
1888 xprt_connect(task); in call_connect()
1896 call_connect_status(struct rpc_task *task) in call_connect_status() argument
1898 struct rpc_clnt *clnt = task->tk_client; in call_connect_status()
1899 int status = task->tk_status; in call_connect_status()
1901 dprint_status(task); in call_connect_status()
1903 trace_rpc_connect_status(task); in call_connect_status()
1904 task->tk_status = 0; in call_connect_status()
1908 if (RPC_IS_SOFTCONN(task)) in call_connect_status()
1912 task->tk_action = call_bind; in call_connect_status()
1924 xprt_conditional_disconnect(task->tk_rqstp->rq_xprt, in call_connect_status()
1925 task->tk_rqstp->rq_connect_cookie); in call_connect_status()
1926 if (RPC_IS_SOFTCONN(task)) in call_connect_status()
1929 rpc_delay(task, 3*HZ); in call_connect_status()
1934 task->tk_action = call_timeout; in call_connect_status()
1938 task->tk_action = call_transmit; in call_connect_status()
1941 rpc_exit(task, status); in call_connect_status()
1948 call_transmit(struct rpc_task *task) in call_transmit() argument
1950 int is_retrans = RPC_WAS_SENT(task); in call_transmit()
1952 dprint_status(task); in call_transmit()
1954 task->tk_action = call_status; in call_transmit()
1955 if (task->tk_status < 0) in call_transmit()
1957 if (!xprt_prepare_transmit(task)) in call_transmit()
1959 task->tk_action = call_transmit_status; in call_transmit()
1961 if (rpc_task_need_encode(task)) { in call_transmit()
1962 rpc_xdr_encode(task); in call_transmit()
1964 if (task->tk_status != 0) { in call_transmit()
1966 if (task->tk_status == -EAGAIN) in call_transmit()
1967 rpc_delay(task, HZ >> 4); in call_transmit()
1969 rpc_exit(task, task->tk_status); in call_transmit()
1973 xprt_transmit(task); in call_transmit()
1974 if (task->tk_status < 0) in call_transmit()
1977 task->tk_client->cl_stats->rpcretrans++; in call_transmit()
1982 call_transmit_status(task); in call_transmit()
1983 if (rpc_reply_expected(task)) in call_transmit()
1985 task->tk_action = rpc_exit_task; in call_transmit()
1986 rpc_wake_up_queued_task(&task->tk_rqstp->rq_xprt->pending, task); in call_transmit()
1993 call_transmit_status(struct rpc_task *task) in call_transmit_status() argument
1995 task->tk_action = call_status; in call_transmit_status()
2001 if (task->tk_status == 0) { in call_transmit_status()
2002 xprt_end_transmit(task); in call_transmit_status()
2003 rpc_task_force_reencode(task); in call_transmit_status()
2007 switch (task->tk_status) { in call_transmit_status()
2012 dprint_status(task); in call_transmit_status()
2013 xprt_end_transmit(task); in call_transmit_status()
2014 rpc_task_force_reencode(task); in call_transmit_status()
2028 if (RPC_IS_SOFTCONN(task)) { in call_transmit_status()
2029 xprt_end_transmit(task); in call_transmit_status()
2030 if (!task->tk_msg.rpc_proc->p_proc) in call_transmit_status()
2031 trace_xprt_ping(task->tk_xprt, in call_transmit_status()
2032 task->tk_status); in call_transmit_status()
2033 rpc_exit(task, task->tk_status); in call_transmit_status()
2042 rpc_task_force_reencode(task); in call_transmit_status()
2052 call_bc_transmit(struct rpc_task *task) in call_bc_transmit() argument
2054 struct rpc_rqst *req = task->tk_rqstp; in call_bc_transmit()
2056 if (!xprt_prepare_transmit(task)) in call_bc_transmit()
2059 if (task->tk_status < 0) { in call_bc_transmit()
2061 "error: %d\n", task->tk_status); in call_bc_transmit()
2067 xprt_transmit(task); in call_bc_transmit()
2069 if (task->tk_status == -EAGAIN) in call_bc_transmit()
2072 xprt_end_transmit(task); in call_bc_transmit()
2073 dprint_status(task); in call_bc_transmit()
2074 switch (task->tk_status) { in call_bc_transmit()
2096 "error: %d\n", task->tk_status); in call_bc_transmit()
2105 WARN_ON_ONCE(task->tk_status == -EAGAIN); in call_bc_transmit()
2107 "error: %d\n", task->tk_status); in call_bc_transmit()
2110 rpc_wake_up_queued_task(&req->rq_xprt->pending, task); in call_bc_transmit()
2112 task->tk_action = rpc_exit_task; in call_bc_transmit()
2117 task->tk_status = 0; in call_bc_transmit()
2125 call_status(struct rpc_task *task) in call_status() argument
2127 struct rpc_clnt *clnt = task->tk_client; in call_status()
2128 struct rpc_rqst *req = task->tk_rqstp; in call_status()
2131 if (!task->tk_msg.rpc_proc->p_proc) in call_status()
2132 trace_xprt_ping(task->tk_xprt, task->tk_status); in call_status()
2135 task->tk_status = req->rq_reply_bytes_recvd; in call_status()
2137 dprint_status(task); in call_status()
2139 status = task->tk_status; in call_status()
2141 task->tk_action = call_decode; in call_status()
2145 trace_rpc_call_status(task); in call_status()
2146 task->tk_status = 0; in call_status()
2153 if (RPC_IS_SOFTCONN(task)) { in call_status()
2154 rpc_exit(task, status); in call_status()
2161 rpc_delay(task, 3*HZ); in call_status()
2164 task->tk_action = call_timeout; in call_status()
2172 rpc_delay(task, 3*HZ); in call_status()
2176 task->tk_action = call_bind; in call_status()
2179 rpc_delay(task, HZ>>2); in call_status()
2182 task->tk_action = call_transmit; in call_status()
2186 rpc_exit(task, status); in call_status()
2192 rpc_exit(task, status); in call_status()
2202 call_timeout(struct rpc_task *task) in call_timeout() argument
2204 struct rpc_clnt *clnt = task->tk_client; in call_timeout()
2206 if (xprt_adjust_timeout(task->tk_rqstp) == 0) { in call_timeout()
2207 dprintk("RPC: %5u call_timeout (minor)\n", task->tk_pid); in call_timeout()
2211 dprintk("RPC: %5u call_timeout (major)\n", task->tk_pid); in call_timeout()
2212 task->tk_timeouts++; in call_timeout()
2214 if (RPC_IS_SOFTCONN(task)) { in call_timeout()
2215 rpc_exit(task, -ETIMEDOUT); in call_timeout()
2218 if (RPC_IS_SOFT(task)) { in call_timeout()
2222 task->tk_xprt->servername); in call_timeout()
2224 if (task->tk_flags & RPC_TASK_TIMEOUT) in call_timeout()
2225 rpc_exit(task, -ETIMEDOUT); in call_timeout()
2227 rpc_exit(task, -EIO); in call_timeout()
2231 if (!(task->tk_flags & RPC_CALL_MAJORSEEN)) { in call_timeout()
2232 task->tk_flags |= RPC_CALL_MAJORSEEN; in call_timeout()
2236 task->tk_xprt->servername); in call_timeout()
2244 rpcauth_invalcred(task); in call_timeout()
2247 task->tk_action = call_bind; in call_timeout()
2248 task->tk_status = 0; in call_timeout()
2255 call_decode(struct rpc_task *task) in call_decode() argument
2257 struct rpc_clnt *clnt = task->tk_client; in call_decode()
2258 struct rpc_rqst *req = task->tk_rqstp; in call_decode()
2259 kxdrdproc_t decode = task->tk_msg.rpc_proc->p_decode; in call_decode()
2262 dprint_status(task); in call_decode()
2264 if (task->tk_flags & RPC_CALL_MAJORSEEN) { in call_decode()
2268 task->tk_xprt->servername); in call_decode()
2270 task->tk_flags &= ~RPC_CALL_MAJORSEEN; in call_decode()
2285 if (!RPC_IS_SOFT(task)) { in call_decode()
2286 task->tk_action = call_bind; in call_decode()
2290 clnt->cl_program->name, task->tk_status); in call_decode()
2291 task->tk_action = call_timeout; in call_decode()
2295 p = rpc_verify_header(task); in call_decode()
2302 task->tk_action = rpc_exit_task; in call_decode()
2305 task->tk_status = rpcauth_unwrap_resp(task, decode, req, p, in call_decode()
2306 task->tk_msg.rpc_resp); in call_decode()
2308 dprintk("RPC: %5u call_decode result %d\n", task->tk_pid, in call_decode()
2309 task->tk_status); in call_decode()
2312 task->tk_status = 0; in call_decode()
2314 if (task->tk_rqstp == req) { in call_decode()
2316 if (task->tk_client->cl_discrtry) in call_decode()
2323 rpc_encode_header(struct rpc_task *task) in rpc_encode_header() argument
2325 struct rpc_clnt *clnt = task->tk_client; in rpc_encode_header()
2326 struct rpc_rqst *req = task->tk_rqstp; in rpc_encode_header()
2337 *p++ = htonl(task->tk_msg.rpc_proc->p_proc); /* procedure */ in rpc_encode_header()
2338 p = rpcauth_marshcred(task, p); in rpc_encode_header()
2344 rpc_verify_header(struct rpc_task *task) in rpc_verify_header() argument
2346 struct rpc_clnt *clnt = task->tk_client; in rpc_verify_header()
2347 struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0]; in rpc_verify_header()
2348 int len = task->tk_rqstp->rq_rcv_buf.len >> 2; in rpc_verify_header()
2353 if ((task->tk_rqstp->rq_rcv_buf.len & 3) != 0) { in rpc_verify_header()
2360 " 4 bytes: 0x%x\n", task->tk_pid, __func__, in rpc_verify_header()
2361 task->tk_rqstp->rq_rcv_buf.len); in rpc_verify_header()
2371 task->tk_pid, __func__, n); in rpc_verify_header()
2384 task->tk_pid, __func__); in rpc_verify_header()
2390 task->tk_pid, __func__, n); in rpc_verify_header()
2401 if (!task->tk_cred_retry) in rpc_verify_header()
2403 task->tk_cred_retry--; in rpc_verify_header()
2405 task->tk_pid, __func__); in rpc_verify_header()
2406 rpcauth_invalcred(task); in rpc_verify_header()
2408 xprt_release(task); in rpc_verify_header()
2409 task->tk_action = call_reserve; in rpc_verify_header()
2414 if (!task->tk_garb_retry) in rpc_verify_header()
2416 task->tk_garb_retry--; in rpc_verify_header()
2418 task->tk_pid, __func__); in rpc_verify_header()
2419 task->tk_action = call_bind; in rpc_verify_header()
2424 task->tk_xprt->servername); in rpc_verify_header()
2428 task->tk_pid, __func__, n); in rpc_verify_header()
2432 task->tk_pid, __func__, n); in rpc_verify_header()
2435 p = rpcauth_checkverf(task, p); in rpc_verify_header()
2439 task->tk_pid, __func__, error); in rpc_verify_header()
2450 "by server %s\n", task->tk_pid, __func__, in rpc_verify_header()
2452 task->tk_xprt->servername); in rpc_verify_header()
2457 "by server %s\n", task->tk_pid, __func__, in rpc_verify_header()
2460 task->tk_xprt->servername); in rpc_verify_header()
2466 task->tk_pid, __func__, in rpc_verify_header()
2467 rpc_proc_name(task), in rpc_verify_header()
2469 task->tk_xprt->servername); in rpc_verify_header()
2474 task->tk_pid, __func__); in rpc_verify_header()
2478 task->tk_pid, __func__, n); in rpc_verify_header()
2484 if (task->tk_garb_retry) { in rpc_verify_header()
2485 task->tk_garb_retry--; in rpc_verify_header()
2487 task->tk_pid, __func__); in rpc_verify_header()
2488 task->tk_action = call_bind; in rpc_verify_header()
2493 rpc_exit(task, error); in rpc_verify_header()
2494 dprintk("RPC: %5u %s: call failed with error %d\n", task->tk_pid, in rpc_verify_header()
2498 dprintk("RPC: %5u %s: server reply was truncated.\n", task->tk_pid, in rpc_verify_header()
2563 static void rpc_cb_add_xprt_done(struct rpc_task *task, void *calldata) in rpc_cb_add_xprt_done() argument
2567 if (task->tk_status == 0) in rpc_cb_add_xprt_done()
2598 struct rpc_task *task; in rpc_clnt_test_and_add_xprt() local
2607 task = rpc_call_null_helper(clnt, xprt, cred, in rpc_clnt_test_and_add_xprt()
2611 if (IS_ERR(task)) in rpc_clnt_test_and_add_xprt()
2612 return PTR_ERR(task); in rpc_clnt_test_and_add_xprt()
2613 rpc_put_task(task); in rpc_clnt_test_and_add_xprt()
2642 struct rpc_task *task; in rpc_clnt_setup_test_and_add_xprt() local
2654 task = rpc_call_null_helper(clnt, xprt, cred, in rpc_clnt_setup_test_and_add_xprt()
2658 if (IS_ERR(task)) { in rpc_clnt_setup_test_and_add_xprt()
2659 status = PTR_ERR(task); in rpc_clnt_setup_test_and_add_xprt()
2662 status = task->tk_status; in rpc_clnt_setup_test_and_add_xprt()
2663 rpc_put_task(task); in rpc_clnt_setup_test_and_add_xprt()
2821 const struct rpc_task *task) in rpc_show_task() argument
2825 if (RPC_IS_QUEUED(task)) in rpc_show_task()
2826 rpc_waitq = rpc_qname(task->tk_waitqueue); in rpc_show_task()
2829 task->tk_pid, task->tk_flags, task->tk_status, in rpc_show_task()
2830 clnt, task->tk_rqstp, task->tk_timeout, task->tk_ops, in rpc_show_task()
2831 clnt->cl_program->name, clnt->cl_vers, rpc_proc_name(task), in rpc_show_task()
2832 task->tk_action, rpc_waitq); in rpc_show_task()
2838 struct rpc_task *task; in rpc_show_tasks() local
2845 list_for_each_entry(task, &clnt->cl_tasks, tk_task) { in rpc_show_tasks()
2850 rpc_show_task(clnt, task); in rpc_show_tasks()