| /linux/net/sunrpc/ |
| H A D | xprt.c | 72 static void xprt_init(struct rpc_xprt *xprt, struct net *net); 73 static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); 74 static void xprt_destroy(struct rpc_xprt *xprt); 247 static void xprt_clear_locked(struct rpc_xprt *xprt) in xprt_clear_locked() argument 249 xprt->snd_task = NULL; in xprt_clear_locked() 250 if (!test_bit(XPRT_CLOSE_WAIT, &xprt->state)) in xprt_clear_locked() 251 clear_bit_unlock(XPRT_LOCKED, &xprt->state); in xprt_clear_locked() 253 queue_work(xprtiod_workqueue, &xprt->task_cleanup); in xprt_clear_locked() 265 int xprt_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task) in xprt_reserve_xprt() argument 269 if (test_and_set_bit(XPRT_LOCKED, &xprt->state)) { in xprt_reserve_xprt() [all …]
|
| H A D | svc_xprt.c | 30 static struct svc_deferred_req *svc_deferred_dequeue(struct svc_xprt *xprt); 34 static void svc_delete_xprt(struct svc_xprt *xprt); 158 void svc_xprt_deferred_close(struct svc_xprt *xprt) in svc_xprt_deferred_close() argument 160 trace_svc_xprt_close(xprt); in svc_xprt_deferred_close() 161 if (!test_and_set_bit(XPT_CLOSE, &xprt->xpt_flags)) in svc_xprt_deferred_close() 162 svc_xprt_enqueue(xprt); in svc_xprt_deferred_close() 168 struct svc_xprt *xprt = in svc_xprt_free() local 170 struct module *owner = xprt->xpt_class->xcl_owner; in svc_xprt_free() 171 if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags)) in svc_xprt_free() 172 svcauth_unix_info_release(xprt); in svc_xprt_free() [all …]
|
| H A D | xprtsock.c | 64 static void xs_close(struct rpc_xprt *xprt); 67 static void xs_tcp_set_socket_timeouts(struct rpc_xprt *xprt, 234 static inline struct sockaddr *xs_addr(struct rpc_xprt *xprt) in xs_addr() argument 236 return (struct sockaddr *) &xprt->addr; in xs_addr() 239 static inline struct sockaddr_un *xs_addr_un(struct rpc_xprt *xprt) in xs_addr_un() argument 241 return (struct sockaddr_un *) &xprt->addr; in xs_addr_un() 244 static inline struct sockaddr_in *xs_addr_in(struct rpc_xprt *xprt) in xs_addr_in() argument 246 return (struct sockaddr_in *) &xprt->addr; in xs_addr_in() 249 static inline struct sockaddr_in6 *xs_addr_in6(struct rpc_xprt *xprt) in xs_addr_in6() argument 251 return (struct sockaddr_in6 *) &xprt->addr; in xs_addr_in6() [all …]
|
| H A D | backchannel_rqst.c | 22 unsigned int xprt_bc_max_slots(struct rpc_xprt *xprt) in xprt_bc_max_slots() argument 31 void xprt_svc_destroy_nullify_bc(struct rpc_xprt *xprt, struct svc_serv **serv) in xprt_svc_destroy_nullify_bc() argument 36 xprt_svc_shutdown_bc(xprt); in xprt_svc_destroy_nullify_bc() 54 void xprt_svc_shutdown_bc(struct rpc_xprt *xprt) in xprt_svc_shutdown_bc() argument 56 spin_lock(&xprt->bc_pa_lock); in xprt_svc_shutdown_bc() 57 xprt->bc_serv = NULL; in xprt_svc_shutdown_bc() 58 spin_unlock(&xprt->bc_pa_lock); in xprt_svc_shutdown_bc() 66 static inline int xprt_need_to_requeue(struct rpc_xprt *xprt) in xprt_need_to_requeue() argument 68 return xprt->bc_alloc_count < xprt->bc_alloc_max; in xprt_need_to_requeue() 110 static struct rpc_rqst *xprt_alloc_bc_req(struct rpc_xprt *xprt) in xprt_alloc_bc_req() argument [all …]
|
| H A D | sysfs.c | 79 return xprt_get(x->xprt); in rpc_sysfs_xprt_kobj_get_xprt() 149 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_dstaddr_show() local 152 if (!xprt) { in rpc_sysfs_xprt_dstaddr_show() 156 ret = sprintf(buf, "%s\n", xprt->address_strings[RPC_DISPLAY_ADDR]); in rpc_sysfs_xprt_dstaddr_show() 157 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_show() 166 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_srcaddr_show() local 170 if (!xprt || !xprt_connected(xprt)) { in rpc_sysfs_xprt_srcaddr_show() 172 } else if (xprt->ops->get_srcaddr) { in rpc_sysfs_xprt_srcaddr_show() 173 ret = xprt in rpc_sysfs_xprt_srcaddr_show() 198 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_xprtsec_show() local 216 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_info_show() local 250 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_state_show() local 331 struct rpc_xprt *xprt, *new; rpc_sysfs_xprt_switch_add_xprt_store() local 370 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_dstaddr_store() local 429 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_state_change() local 480 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); rpc_sysfs_xprt_del_xprt() local 551 struct rpc_sysfs_xprt *xprt; rpc_sysfs_xprt_release() local 704 rpc_sysfs_xprt_alloc(struct kobject * parent,struct rpc_xprt * xprt,gfp_t gfp_flags) rpc_sysfs_xprt_alloc() argument 752 rpc_sysfs_xprt_switch_setup(struct rpc_xprt_switch * xprt_switch,struct rpc_xprt * xprt,gfp_t gfp_flags) rpc_sysfs_xprt_switch_setup() argument 776 rpc_sysfs_xprt_setup(struct rpc_xprt_switch * xprt_switch,struct rpc_xprt * xprt,gfp_t gfp_flags) rpc_sysfs_xprt_setup() argument 822 rpc_sysfs_xprt_destroy(struct rpc_xprt * xprt) rpc_sysfs_xprt_destroy() argument [all...] |
| H A D | xprtmultipath.c | 33 struct rpc_xprt *xprt) in xprt_switch_add_xprt_locked() argument 35 if (unlikely(xprt_get(xprt) == NULL)) in xprt_switch_add_xprt_locked() 37 list_add_tail_rcu(&xprt->xprt_switch, &xps->xps_xprt_list); in xprt_switch_add_xprt_locked() 40 xps->xps_net = xprt->xprt_net; in xprt_switch_add_xprt_locked() 53 struct rpc_xprt *xprt) in rpc_xprt_switch_add_xprt() argument 55 if (xprt == NULL) in rpc_xprt_switch_add_xprt() 58 if (xps->xps_net == xprt->xprt_net || xps->xps_net == NULL) in rpc_xprt_switch_add_xprt() 59 xprt_switch_add_xprt_locked(xps, xprt); in rpc_xprt_switch_add_xprt() 61 rpc_sysfs_xprt_setup(xps, xprt, GFP_KERNEL); in rpc_xprt_switch_add_xprt() 65 struct rpc_xprt *xprt, bool offline) in xprt_switch_remove_xprt_locked() argument [all …]
|
| H A D | clnt.c | 268 struct rpc_xprt *xprt, in rpc_clnt_set_transport() argument 278 rcu_assign_pointer(clnt->cl_xprt, xprt); in rpc_clnt_set_transport() 367 struct rpc_xprt *xprt, in rpc_new_client() argument 414 timeout = xprt->timeout; in rpc_new_client() 421 rpc_clnt_set_transport(clnt, xprt, timeout); in rpc_new_client() 422 xprt->main = true; in rpc_new_client() 443 trace_rpc_clnt_new(clnt, xprt, args); in rpc_new_client() 457 xprt_put(xprt); in rpc_new_client() 463 struct rpc_xprt *xprt) in rpc_create_xprt() argument 473 xps = xprt_switch_alloc(xprt, GFP_KERNEL); in rpc_create_xprt() [all …]
|
| H A D | svcsock.c | 61 #include <linux/sunrpc/xprt.h> 138 * @xprt: the transport which owned the context 142 static void svc_tcp_release_ctxt(struct svc_xprt *xprt, void *ctxt) in svc_tcp_release_ctxt() argument 148 * @xprt: the transport which owned the context 152 static void svc_udp_release_ctxt(struct svc_xprt *xprt, void *ctxt) in svc_udp_release_ctxt() argument 435 static int svc_tcp_has_wspace(struct svc_xprt *xprt) in svc_write_space() 437 struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt); in svc_tcp_has_wspace() argument 439 if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) in svc_tcp_has_wspace() 444 static void svc_tcp_kill_temp_xprt(struct svc_xprt *xprt) in svc_tcp_has_wspace() 446 struct svc_sock *svsk = container_of(xprt, struc argument 466 struct svc_xprt *xprt = data; svc_tcp_handshake_done() local 483 svc_tcp_handshake(struct svc_xprt * xprt) svc_tcp_handshake() argument 726 struct svc_xprt *xprt = rqstp->rq_xprt; svc_udp_sendto() local 776 svc_udp_has_wspace(struct svc_xprt * xprt) svc_udp_has_wspace() argument 794 svc_udp_accept(struct svc_xprt * xprt) svc_udp_accept() argument 800 svc_udp_kill_temp_xprt(struct svc_xprt * xprt) svc_udp_kill_temp_xprt() argument 918 svc_tcp_accept(struct svc_xprt * xprt) svc_tcp_accept() argument 1280 struct svc_xprt *xprt = rqstp->rq_xprt; svc_tcp_sendto() local 1632 svc_sock_detach(struct svc_xprt * xprt) svc_sock_detach() argument 1649 svc_tcp_sock_detach(struct svc_xprt * xprt) svc_tcp_sock_detach() argument 1666 svc_sock_free(struct svc_xprt * xprt) svc_sock_free() argument [all...] |
| H A D | sysfs.h | 12 struct rpc_xprt *xprt; member 17 struct rpc_xprt *xprt; member 29 struct rpc_xprt *xprt, gfp_t gfp_flags); 30 void rpc_sysfs_xprt_switch_destroy(struct rpc_xprt_switch *xprt); 32 struct rpc_xprt *xprt, gfp_t gfp_flags); 33 void rpc_sysfs_xprt_destroy(struct rpc_xprt *xprt);
|
| H A D | rpcb_clnt.c | 148 static void rpcb_wake_rpcbind_waiters(struct rpc_xprt *xprt, int status) in rpcb_wake_rpcbind_waiters() argument 150 xprt_clear_binding(xprt); in rpcb_wake_rpcbind_waiters() 151 rpc_wake_up_status(&xprt->binding, status); in rpcb_wake_rpcbind_waiters() 678 struct rpc_xprt *xprt; in rpcb_getport_async() local 690 xprt = xprt_get(task->tk_xprt); in rpcb_getport_async() 694 rpc_sleep_on_timeout(&xprt->binding, task, in rpcb_getport_async() 695 NULL, jiffies + xprt->bind_timeout); in rpcb_getport_async() 697 if (xprt_test_and_set_binding(xprt)) { in rpcb_getport_async() 698 xprt_put(xprt); in rpcb_getport_async() 703 if (xprt_bound(xprt)) { in rpcb_getport_async() [all …]
|
| H A D | svcauth_unix.c | 341 ip_map_cached_get(struct svc_xprt *xprt) in ip_map_cached_get() argument 346 if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags)) { in ip_map_cached_get() 347 spin_lock(&xprt->xpt_lock); in ip_map_cached_get() 348 ipm = xprt->xpt_auth_cache; in ip_map_cached_get() 350 sn = net_generic(xprt->xpt_net, sunrpc_net_id); in ip_map_cached_get() 357 xprt->xpt_auth_cache = NULL; in ip_map_cached_get() 358 spin_unlock(&xprt->xpt_lock); in ip_map_cached_get() 364 spin_unlock(&xprt->xpt_lock); in ip_map_cached_get() 370 ip_map_cached_put(struct svc_xprt *xprt, struct ip_map *ipm) in ip_map_cached_put() argument 372 if (test_bit(XPT_CACHE_AUTH, &xprt->xpt_flags)) { in ip_map_cached_put() [all …]
|
| /linux/net/sunrpc/xprtrdma/ |
| H A D | transport.c | 147 xprt_rdma_format_addresses4(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses4() argument 153 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses4() 155 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA; in xprt_rdma_format_addresses4() 159 xprt_rdma_format_addresses6(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses6() argument 165 xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); in xprt_rdma_format_addresses6() 167 xprt->address_strings[RPC_DISPLAY_NETID] = RPCBIND_NETID_RDMA6; in xprt_rdma_format_addresses6() 171 xprt_rdma_format_addresses(struct rpc_xprt *xprt, struct sockaddr *sap) in xprt_rdma_format_addresses() argument 177 xprt_rdma_format_addresses4(xprt, sap); in xprt_rdma_format_addresses() 180 xprt_rdma_format_addresses6(xprt, sap); in xprt_rdma_format_addresses() 188 xprt in xprt_rdma_format_addresses() 200 xprt_rdma_free_addresses(struct rpc_xprt * xprt) xprt_rdma_free_addresses() argument 227 struct rpc_xprt *xprt = &r_xprt->rx_xprt; xprt_rdma_connect_worker() local 259 xprt_rdma_inject_disconnect(struct rpc_xprt * xprt) xprt_rdma_inject_disconnect() argument 275 xprt_rdma_destroy(struct rpc_xprt * xprt) xprt_rdma_destroy() argument 304 struct rpc_xprt *xprt; xprt_setup_rdma() local 374 xprt_rdma_close(struct rpc_xprt * xprt) xprt_rdma_close() argument 393 xprt_rdma_set_port(struct rpc_xprt * xprt,u16 port) xprt_rdma_set_port() argument 423 xprt_rdma_timer(struct rpc_xprt * xprt,struct rpc_task * task) xprt_rdma_timer() argument 435 xprt_rdma_set_connect_timeout(struct rpc_xprt * xprt,unsigned long connect_timeout,unsigned long reconnect_timeout) xprt_rdma_set_connect_timeout() argument 473 xprt_rdma_connect(struct rpc_xprt * xprt,struct rpc_task * task) xprt_rdma_connect() argument 500 xprt_rdma_alloc_slot(struct rpc_xprt * xprt,struct rpc_task * task) xprt_rdma_alloc_slot() argument 537 xprt_rdma_free_slot(struct rpc_xprt * xprt,struct rpc_rqst * rqst) xprt_rdma_free_slot() argument 636 struct rpc_xprt *xprt = rqst->rq_xprt; xprt_rdma_send_request() local 681 xprt_rdma_print_stats(struct rpc_xprt * xprt,struct seq_file * seq) xprt_rdma_print_stats() argument 723 xprt_rdma_enable_swap(struct rpc_xprt * xprt) xprt_rdma_enable_swap() argument 729 xprt_rdma_disable_swap(struct rpc_xprt * xprt) xprt_rdma_disable_swap() argument [all...] |
| H A D | svc_rdma_backchannel.c | 23 struct rpc_xprt *xprt = sxprt->xpt_bc_xprt; in svc_rdma_handle_bc_reply() local 24 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in svc_rdma_handle_bc_reply() 31 spin_lock(&xprt->queue_lock); in svc_rdma_handle_bc_reply() 32 req = xprt_lookup_rqst(xprt, *rdma_resp); in svc_rdma_handle_bc_reply() 42 spin_unlock(&xprt->queue_lock); in svc_rdma_handle_bc_reply() 49 spin_lock(&xprt->transport_lock); in svc_rdma_handle_bc_reply() 50 xprt->cwnd = credits << RPC_CWNDSHIFT; in svc_rdma_handle_bc_reply() 51 spin_unlock(&xprt->transport_lock); in svc_rdma_handle_bc_reply() 53 spin_lock(&xprt->queue_lock); in svc_rdma_handle_bc_reply() 59 spin_unlock(&xprt->queue_lock); in svc_rdma_handle_bc_reply() [all …]
|
| H A D | backchannel.c | 8 #include <linux/sunrpc/xprt.h> 21 * @xprt: transport associated with these backchannel resources 26 int xprt_rdma_bc_setup(struct rpc_xprt *xprt, unsigned int reqs) in xprt_rdma_bc_setup() argument 28 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_bc_setup() 37 * @xprt: transport 41 size_t xprt_rdma_bc_maxpayload(struct rpc_xprt *xprt) in xprt_rdma_bc_maxpayload() argument 43 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_bc_maxpayload() 52 unsigned int xprt_rdma_bc_max_slots(struct rpc_xprt *xprt) in xprt_rdma_bc_max_slots() argument 100 struct rpc_xprt *xprt = rqst->rq_xprt; in xprt_rdma_bc_send_reply() local 101 struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); in xprt_rdma_bc_send_reply() 132 xprt_rdma_bc_destroy(struct rpc_xprt * xprt,unsigned int reqs) xprt_rdma_bc_destroy() argument 156 struct rpc_xprt *xprt = rqst->rq_xprt; xprt_rdma_bc_free_rqst() local 170 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_bc_rqst_get() local 223 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_bc_receive_call() local [all...] |
| H A D | svc_rdma_transport.c | 75 static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt); 76 static void svc_rdma_detach(struct svc_xprt *xprt); 77 static void svc_rdma_free(struct svc_xprt *xprt); 78 static int svc_rdma_has_wspace(struct svc_xprt *xprt); 120 struct svc_xprt *xprt = context; in qp_event_handler() local 122 container_of(xprt, struct svcxprt_rdma, sc_xprt); in qp_event_handler() 124 trace_svcrdma_qp_error(event, (struct sockaddr *)&xprt->xpt_remote); in qp_event_handler() 248 * This function creates a new xprt for the new connection and enqueues it on 249 * the accept queue for the listen xprt. When the listen thread is kicked, it 250 * will call the recvfrom method on the listen xprt whic 356 struct svc_xprt *xprt = &rdma->sc_xprt; svc_rdma_cma_handler() local 438 svc_rdma_accept(struct svc_xprt * xprt) svc_rdma_accept() argument 637 svc_rdma_detach(struct svc_xprt * xprt) svc_rdma_detach() argument 659 svc_rdma_free(struct svc_xprt * xprt) svc_rdma_free() argument 706 svc_rdma_has_wspace(struct svc_xprt * xprt) svc_rdma_has_wspace() argument 723 svc_rdma_kill_temp_xprt(struct svc_xprt * xprt) svc_rdma_kill_temp_xprt() argument [all...] |
| H A D | rpc_rdma.c | 948 static void __rpcrdma_update_cwnd_locked(struct rpc_xprt *xprt, in rpcrdma_update_cwnd() local 953 xprt->cwnd = grant << RPC_CWNDSHIFT; in rpcrdma_update_cwnd() 958 struct rpc_xprt *xprt = &r_xprt->rx_xprt; 960 spin_lock(&xprt->transport_lock); 961 __rpcrdma_update_cwnd_locked(xprt, &r_xprt->rx_buf, grant); 962 spin_unlock(&xprt->transport_lock); in rpcrdma_reset_cwnd() 966 * rpcrdma_reset_cwnd - Reset the xprt's congestion window in rpcrdma_reset_cwnd() 974 struct rpc_xprt *xprt = &r_xprt->rx_xprt; 976 spin_lock(&xprt->transport_lock); 977 xprt 938 __rpcrdma_update_cwnd_locked(struct rpc_xprt * xprt,struct rpcrdma_buffer * buf,u32 grant) __rpcrdma_update_cwnd_locked() argument 964 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_reset_cwnd() local 1075 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_is_bcall() local 1305 struct rpc_xprt *xprt = &rep->rr_rxprt->rx_xprt; rpcrdma_unpin_rqst() local 1328 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_complete_rqst() local 1381 struct rpc_xprt *xprt = &r_xprt->rx_xprt; rpcrdma_reply_handler() local [all...] |
| H A D | svc_rdma_recvfrom.c | 250 void svc_rdma_release_ctxt(struct svc_xprt *xprt, void *vctxt) in svc_rdma_release_ctxt() argument 254 container_of(xprt, struct svcxprt_rdma, sc_xprt); in svc_rdma_release_ctxt() 779 static bool svc_rdma_is_reverse_direction_reply(struct svc_xprt *xprt, in svc_rdma_is_reverse_direction_reply() argument 784 if (!xprt->xpt_bc_xprt) in svc_rdma_is_reverse_direction_reply() 946 struct svc_xprt *xprt = rqstp->rq_xprt; in svc_rdma_recvfrom() local 948 container_of(xprt, struct svcxprt_rdma, sc_xprt); in svc_rdma_recvfrom() 964 svc_xprt_received(xprt); in svc_rdma_recvfrom() 973 clear_bit(XPT_DATA, &xprt->xpt_flags); in svc_rdma_recvfrom() 977 svc_xprt_received(xprt); in svc_rdma_recvfrom() 993 if (svc_rdma_is_reverse_direction_reply(xprt, ctxt)) in svc_rdma_recvfrom() [all …]
|
| H A D | xprt_rdma.h | 58 #include <linux/sunrpc/xprtrdma.h> /* xprt parameters */ 342 struct rpcrdma_regbuf *rl_rdmabuf; /* xprt header */ 603 void xprt_rdma_format_addresses(struct rpc_xprt *xprt, struct sockaddr *sap); 604 void xprt_rdma_free_addresses(struct rpc_xprt *xprt); 605 void xprt_rdma_close(struct rpc_xprt *xprt); 606 void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq);
|
| /linux/include/linux/sunrpc/ |
| H A D | xprt.h | 30 #define RPC_MAXCWND(xprt) ((xprt)->max_reqs << RPC_CWNDSHIFT) argument 31 #define RPCXPRT_CONGESTED(xprt) ((xprt)->cong >= (xprt)->cwnd) argument 153 void (*set_buffer_size)(struct rpc_xprt *xprt, size_t sndsize, size_t rcvsize); 154 int (*reserve_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); 155 void (*release_xprt)(struct rpc_xprt *xprt, struct rpc_task *task); 156 void (*alloc_slot)(struct rpc_xprt *xprt, struct rpc_task *task); 157 void (*free_slot)(struct rpc_xprt *xprt, 160 void (*set_port)(struct rpc_xprt *xprt, unsigned short port); 161 void (*connect)(struct rpc_xprt *xprt, struct rpc_task *task); 162 int (*get_srcaddr)(struct rpc_xprt *xprt, char *buf, [all …]
|
| H A D | svc_xprt.h | 26 void (*xpo_release_ctxt)(struct svc_xprt *xprt, void *ctxt); 30 void (*xpo_handshake)(struct svc_xprt *xprt); 154 static inline bool svc_xprt_is_dead(const struct svc_xprt *xprt) in svc_xprt_is_dead() argument 156 return (test_bit(XPT_DEAD, &xprt->xpt_flags) != 0) || in svc_xprt_is_dead() 157 (test_bit(XPT_CLOSE, &xprt->xpt_flags) != 0); in svc_xprt_is_dead() 173 void svc_xprt_received(struct svc_xprt *xprt); 174 void svc_xprt_enqueue(struct svc_xprt *xprt); 175 void svc_xprt_put(struct svc_xprt *xprt); 176 void svc_xprt_copy_addrs(struct svc_rqst *rqstp, struct svc_xprt *xprt); 177 void svc_xprt_close(struct svc_xprt *xprt); [all …]
|
| H A D | bc_xprt.h | 21 struct rpc_rqst *xprt_lookup_bc_request(struct rpc_xprt *xprt, __be32 xid); 31 int xprt_setup_bc(struct rpc_xprt *xprt, unsigned int min_reqs); 32 void xprt_destroy_bc(struct rpc_xprt *xprt, unsigned int max_reqs); 34 unsigned int xprt_bc_max_slots(struct rpc_xprt *xprt); 35 void xprt_svc_shutdown_bc(struct rpc_xprt *xprt); 36 void xprt_svc_destroy_nullify_bc(struct rpc_xprt *xprt, struct svc_serv **serv); 51 static inline int xprt_setup_backchannel(struct rpc_xprt *xprt, in xprt_setup_backchannel() argument 57 static inline void xprt_destroy_backchannel(struct rpc_xprt *xprt, in xprt_destroy_backchannel() argument 75 static inline void xprt_svc_shutdown_bc(struct rpc_xprt *xprt) in xprt_svc_shutdown_bc() argument 79 static inline void xprt_svc_destroy_nullify_bc(struct rpc_xprt *xprt, struct svc_serv **serv) in xprt_svc_destroy_nullify_bc() argument
|
| H A D | clnt.h | 162 struct rpc_xprt *xprt, 198 struct rpc_xprt *xprt); 239 struct rpc_xprt *xprt, 265 void rpc_clnt_xprt_set_online(struct rpc_clnt *clnt, struct rpc_xprt *xprt);
|
| /linux/fs/nfs/ |
| H A D | callback.c | 90 static inline void nfs_callback_bc_serv(u32 minorversion, struct rpc_xprt *xprt, in nfs_callback_bc_serv() argument 98 xprt->bc_serv = serv; in nfs_callback_bc_serv() 101 static int nfs_callback_start_svc(int minorversion, struct rpc_xprt *xprt, in nfs_callback_start_svc() argument 107 nfs_callback_bc_serv(minorversion, xprt, serv); in nfs_callback_start_svc() 136 struct net *net, struct rpc_xprt *xprt) in nfs_callback_up_net() argument 155 else if (xprt->ops->bc_setup) in nfs_callback_up_net() 208 int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt) in nfs_callback_up() argument 213 struct net *net = xprt->xprt_net; in nfs_callback_up() 223 ret = nfs_callback_up_net(minorversion, serv, net, xprt); in nfs_callback_up() 227 ret = nfs_callback_start_svc(minorversion, xprt, serv); in nfs_callback_up() [all …]
|
| H A D | nfs4client.c | 275 struct rpc_xprt *xprt; in nfs4_destroy_callback() local 277 xprt = rcu_dereference_raw(clp->cl_rpcclient->cl_xprt); in nfs4_destroy_callback() 279 xprt); in nfs4_destroy_callback() 310 struct rpc_xprt *xprt; in nfs4_init_callback() local 313 xprt = rcu_dereference_raw(clp->cl_rpcclient->cl_xprt); in nfs4_init_callback() 316 error = xprt_setup_backchannel(xprt, NFS41_BC_MIN_CALLBACKS); in nfs4_init_callback() 321 error = nfs_callback_up(clp->cl_mvops->minor_version, xprt); in nfs4_init_callback() 547 struct rpc_xprt *xprt) in nfs4_detect_session_trunking() argument 568 xprt->address_strings[RPC_DISPLAY_ADDR]); in nfs4_detect_session_trunking() 573 xprt->address_strings[RPC_DISPLAY_ADDR]); in nfs4_detect_session_trunking()
|
| /linux/fs/nfsd/ |
| H A D | nfsctl.c | 764 struct svc_xprt *xprt; in __write_ports_addxprt() local 793 xprt = svc_find_xprt(serv, transport, net, PF_INET, port); in __write_ports_addxprt() 794 if (xprt != NULL) { in __write_ports_addxprt() 795 svc_xprt_close(xprt); in __write_ports_addxprt() 796 svc_xprt_put(xprt); in __write_ports_addxprt() 2040 struct svc_xprt *xprt, *tmp; in nfsd_nl_listener_set_doit() local 2092 list_for_each_entry_safe(xprt, tmp, &permsocks, xpt_list) { in nfsd_nl_listener_set_doit() 2094 if (WARN_ON_ONCE(xprt->xpt_net != net)) { in nfsd_nl_listener_set_doit() 2095 list_move(&xprt->xpt_list, &serv->sv_permsocks); in nfsd_nl_listener_set_doit() 2100 if (!strcmp(xprt->xpt_class->xcl_name, xcl_name) && in nfsd_nl_listener_set_doit() [all …]
|