Lines Matching refs:xprt
267 struct rpc_xprt *xprt,
276 if (!xprt_bound(xprt))
280 rcu_assign_pointer(clnt->cl_xprt, xprt);
362 struct rpc_xprt *xprt,
408 timeout = xprt->timeout;
415 rpc_clnt_set_transport(clnt, xprt, timeout);
435 trace_rpc_clnt_new(clnt, xprt, program->name, args->servername);
449 xprt_put(xprt);
455 struct rpc_xprt *xprt)
465 xps = xprt_switch_alloc(xprt, GFP_KERNEL);
467 xprt_put(xprt);
470 if (xprt->bc_xprt) {
472 xprt->bc_xprt->xpt_bc_xps = xps;
475 clnt = rpc_new_client(args, xps, xprt, NULL);
518 struct rpc_xprt *xprt;
534 xprt = args->bc_xprt->xpt_bc_xprt;
535 if (xprt) {
536 xprt_get(xprt);
537 return rpc_create_xprt(args, xprt);
579 xprt = xprt_create_transport(&xprtargs);
580 if (IS_ERR(xprt))
581 return (struct rpc_clnt *)xprt;
589 xprt->resvport = 1;
591 xprt->resvport = 0;
592 xprt->reuseport = 0;
594 xprt->reuseport = 1;
596 clnt = rpc_create_xprt(args, xprt);
617 struct rpc_xprt *xprt;
623 xprt = xprt_get(rcu_dereference(clnt->cl_xprt));
626 if (xprt == NULL || xps == NULL) {
627 xprt_put(xprt);
631 args->servername = xprt->servername;
634 new = rpc_new_client(args, xps, xprt, clnt);
708 * Returns zero if "clnt" is now using the new xprt. Otherwise a
710 * xprt.
719 struct rpc_xprt *xprt, *old;
723 xprt = xprt_create_transport(args);
724 if (IS_ERR(xprt))
725 return PTR_ERR(xprt);
727 xps = xprt_switch_alloc(xprt, GFP_KERNEL);
729 xprt_put(xprt);
736 old = rpc_clnt_set_transport(clnt, xprt, timeout);
746 * children, if it has any, still point to the old xprt.
774 xprt_put(xprt);
802 * client and applies the function fn(clnt, xprt, data).
817 struct rpc_xprt *xprt = xprt_iter_get_next(&xpi);
819 if (!xprt)
821 ret = fn(clnt, xprt, data);
822 xprt_put(xprt);
991 rpc_task_get_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
995 if (!xprt)
1001 atomic_long_inc(&xprt->queuelen);
1003 return xprt;
1007 rpc_task_release_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
1011 atomic_long_dec(&xprt->queuelen);
1017 xprt_put(xprt);
1022 struct rpc_xprt *xprt = task->tk_xprt;
1024 if (xprt) {
1027 rpc_task_release_xprt(task->tk_client, xprt);
1029 xprt_put(xprt);
1053 struct rpc_xprt *xprt;
1056 xprt = xprt_get(rcu_dereference(clnt->cl_xprt));
1058 return rpc_task_get_xprt(clnt, xprt);
1278 * rpc_peeraddr - extract remote peer address from clnt's xprt
1288 struct rpc_xprt *xprt;
1291 xprt = rcu_dereference(clnt->cl_xprt);
1293 bytes = xprt->addrlen;
1296 memcpy(buf, &xprt->addr, bytes);
1315 struct rpc_xprt *xprt;
1317 xprt = rcu_dereference(clnt->cl_xprt);
1319 if (xprt->address_strings[format] != NULL)
1320 return xprt->address_strings[format];
1454 struct rpc_xprt *xprt;
1460 xprt = rcu_dereference(clnt->cl_xprt);
1461 salen = xprt->addrlen;
1462 memcpy(sap, &xprt->addr, salen);
1463 net = get_net(xprt->xprt_net);
1479 struct rpc_xprt *xprt;
1482 xprt = rcu_dereference(clnt->cl_xprt);
1483 if (xprt->ops->set_buffer_size)
1484 xprt->ops->set_buffer_size(xprt, sndsize, rcvsize);
1531 struct rpc_xprt *xprt;
1535 xprt = rcu_dereference(clnt->cl_xprt);
1536 ret = xprt->ops->bc_maxpayload(xprt);
1544 struct rpc_xprt *xprt;
1548 xprt = rcu_dereference(clnt->cl_xprt);
1549 ret = xprt->ops->bc_num_slots(xprt);
1770 struct rpc_xprt *xprt = req->rq_xprt;
1802 status = xprt->ops->buf_alloc(task);
1925 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt;
1932 if (xprt_bound(xprt)) {
1941 xprt->ops->rpcbind(task);
1950 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt;
1960 if (xprt_bound(xprt)) {
2030 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt;
2037 if (xprt_connected(xprt)) {
2060 struct rpc_xprt *xprt = task->tk_rqstp->rq_xprt;
2075 if (xprt_connected(xprt)) {
2693 struct rpc_xprt *xprt, struct rpc_cred *cred, int flags,
2701 .rpc_xprt = xprt,
2721 struct rpc_xprt *xprt;
2729 rpc_xprt_switch_add_xprt(data->xps, data->xprt);
2736 xprt_put(data->xprt);
2750 * @xprt: pointer struct rpc_xprt
2754 struct rpc_xprt_switch *xps, struct rpc_xprt *xprt,
2764 data->xprt = xprt_get(xprt);
2765 if (rpc_xprt_switch_has_addr(data->xps, (struct sockaddr *)&xprt->addr)) {
2770 task = rpc_call_null_helper(clnt, xprt, NULL, RPC_TASK_ASYNC,
2789 * transport to the rpc_clnt xprt switch
2793 * @xprt: the rpc_xprt to test
2799 struct rpc_xprt *xprt,
2806 xprt = xprt_get(xprt);
2809 if (rpc_xprt_switch_has_addr(xps, (struct sockaddr *)&xprt->addr))
2813 task = rpc_call_null_helper(clnt, xprt, NULL, 0, NULL, NULL);
2825 xtest->add_xprt_test(clnt, xprt, xtest->data);
2827 xprt_put(xprt);
2833 xprt_put(xprt);
2836 status, xprt->address_strings[RPC_DISPLAY_ADDR]);
2863 struct rpc_xprt *xprt;
2871 xprt = xprt_iter_xprt(&clnt->cl_xpi);
2872 if (xps == NULL || xprt == NULL) {
2877 resvport = xprt->resvport;
2878 reuseport = xprt->reuseport;
2879 connect_timeout = xprt->connect_timeout;
2880 reconnect_timeout = xprt->max_reconnect_timeout;
2883 xprt = xprt_create_transport(xprtargs);
2884 if (IS_ERR(xprt)) {
2885 ret = PTR_ERR(xprt);
2888 xprt->resvport = resvport;
2889 xprt->reuseport = reuseport;
2890 if (xprt->ops->set_connect_timeout != NULL)
2891 xprt->ops->set_connect_timeout(xprt,
2897 ret = setup(clnt, xps, xprt, data);
2901 rpc_xprt_switch_add_xprt(xps, xprt);
2903 xprt_put(xprt);
2917 struct rpc_xprt *xprt,
2922 if (xprt->ops->set_connect_timeout)
2923 xprt->ops->set_connect_timeout(xprt,
2952 void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *clnt, struct rpc_xprt *xprt)
2956 xprt);
3023 struct rpc_xprt *xprt,
3026 return xprt_enable_swap(xprt);
3043 struct rpc_xprt *xprt,
3046 xprt_disable_swap(xprt);