Lines Matching refs:xprt

78 	return xprt_get(x->xprt);  in rpc_sysfs_xprt_kobj_get_xprt()
148 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_dstaddr_show() local
151 if (!xprt) { in rpc_sysfs_xprt_dstaddr_show()
155 ret = sprintf(buf, "%s\n", xprt->address_strings[RPC_DISPLAY_ADDR]); in rpc_sysfs_xprt_dstaddr_show()
156 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_show()
165 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_srcaddr_show() local
169 if (!xprt || !xprt_connected(xprt)) { in rpc_sysfs_xprt_srcaddr_show()
171 } else if (xprt->ops->get_srcaddr) { in rpc_sysfs_xprt_srcaddr_show()
172 ret = xprt->ops->get_srcaddr(xprt, buf, buflen); in rpc_sysfs_xprt_srcaddr_show()
183 xprt_put(xprt); in rpc_sysfs_xprt_srcaddr_show()
197 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_xprtsec_show() local
200 if (!xprt) { in rpc_sysfs_xprt_xprtsec_show()
205 ret = sprintf(buf, "%s\n", xprtsec_strings[xprt->xprtsec.policy]); in rpc_sysfs_xprt_xprtsec_show()
206 xprt_put(xprt); in rpc_sysfs_xprt_xprtsec_show()
215 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_info_show() local
220 if (!xprt || !xprt_connected(xprt)) { in rpc_sysfs_xprt_info_show()
225 if (xprt->ops->get_srcport) in rpc_sysfs_xprt_info_show()
226 srcport = xprt->ops->get_srcport(xprt); in rpc_sysfs_xprt_info_show()
234 xprt->last_used, xprt->cong, xprt->cwnd, xprt->max_reqs, in rpc_sysfs_xprt_info_show()
235 xprt->min_reqs, xprt->num_reqs, xprt->binding.qlen, in rpc_sysfs_xprt_info_show()
236 xprt->sending.qlen, xprt->pending.qlen, in rpc_sysfs_xprt_info_show()
237 xprt->backlog.qlen, xprt->main, srcport, in rpc_sysfs_xprt_info_show()
238 atomic_long_read(&xprt->queuelen), in rpc_sysfs_xprt_info_show()
239 xprt->address_strings[RPC_DISPLAY_PORT]); in rpc_sysfs_xprt_info_show()
241 xprt_put(xprt); in rpc_sysfs_xprt_info_show()
249 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_state_show() local
254 if (!(xprt && xprt->state)) { in rpc_sysfs_xprt_state_show()
257 locked = test_bit(XPRT_LOCKED, &xprt->state); in rpc_sysfs_xprt_state_show()
258 connected = test_bit(XPRT_CONNECTED, &xprt->state); in rpc_sysfs_xprt_state_show()
259 connecting = test_bit(XPRT_CONNECTING, &xprt->state); in rpc_sysfs_xprt_state_show()
260 close_wait = test_bit(XPRT_CLOSE_WAIT, &xprt->state); in rpc_sysfs_xprt_state_show()
261 bound = test_bit(XPRT_BOUND, &xprt->state); in rpc_sysfs_xprt_state_show()
262 binding = test_bit(XPRT_BINDING, &xprt->state); in rpc_sysfs_xprt_state_show()
263 closing = test_bit(XPRT_CLOSING, &xprt->state); in rpc_sysfs_xprt_state_show()
264 congested = test_bit(XPRT_CONGESTED, &xprt->state); in rpc_sysfs_xprt_state_show()
265 cwnd_wait = test_bit(XPRT_CWND_WAIT, &xprt->state); in rpc_sysfs_xprt_state_show()
266 write_space = test_bit(XPRT_WRITE_SPACE, &xprt->state); in rpc_sysfs_xprt_state_show()
267 offline = test_bit(XPRT_OFFLINE, &xprt->state); in rpc_sysfs_xprt_state_show()
268 remove = test_bit(XPRT_REMOVE, &xprt->state); in rpc_sysfs_xprt_state_show()
285 xprt_put(xprt); in rpc_sysfs_xprt_state_show()
330 struct rpc_xprt *xprt, *new; in rpc_sysfs_xprt_switch_add_xprt_store() local
335 xprt = rpc_xprt_switch_get_main_xprt(xprt_switch); in rpc_sysfs_xprt_switch_add_xprt_store()
336 if (!xprt) in rpc_sysfs_xprt_switch_add_xprt_store()
339 xprt_create_args.ident = xprt->xprt_class->ident; in rpc_sysfs_xprt_switch_add_xprt_store()
340 xprt_create_args.net = xprt->xprt_net; in rpc_sysfs_xprt_switch_add_xprt_store()
341 xprt_create_args.dstaddr = (struct sockaddr *)&xprt->addr; in rpc_sysfs_xprt_switch_add_xprt_store()
342 xprt_create_args.addrlen = xprt->addrlen; in rpc_sysfs_xprt_switch_add_xprt_store()
343 xprt_create_args.servername = xprt->servername; in rpc_sysfs_xprt_switch_add_xprt_store()
344 xprt_create_args.bc_xprt = xprt->bc_xprt; in rpc_sysfs_xprt_switch_add_xprt_store()
345 xprt_create_args.xprtsec = xprt->xprtsec; in rpc_sysfs_xprt_switch_add_xprt_store()
346 xprt_create_args.connect_timeout = xprt->connect_timeout; in rpc_sysfs_xprt_switch_add_xprt_store()
347 xprt_create_args.reconnect_timeout = xprt->max_reconnect_timeout; in rpc_sysfs_xprt_switch_add_xprt_store()
359 xprt_put(xprt); in rpc_sysfs_xprt_switch_add_xprt_store()
369 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_dstaddr_store() local
376 if (!xprt) in rpc_sysfs_xprt_dstaddr_store()
378 if (!(xprt->xprt_class->ident == XPRT_TRANSPORT_TCP || in rpc_sysfs_xprt_dstaddr_store()
379 xprt->xprt_class->ident == XPRT_TRANSPORT_TCP_TLS || in rpc_sysfs_xprt_dstaddr_store()
380 xprt->xprt_class->ident == XPRT_TRANSPORT_RDMA)) { in rpc_sysfs_xprt_dstaddr_store()
381 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_store()
385 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { in rpc_sysfs_xprt_dstaddr_store()
389 saddr = (struct sockaddr *)&xprt->addr; in rpc_sysfs_xprt_dstaddr_store()
404 rcu_dereference_raw(xprt->address_strings[RPC_DISPLAY_ADDR]); in rpc_sysfs_xprt_dstaddr_store()
405 rcu_assign_pointer(xprt->address_strings[RPC_DISPLAY_ADDR], dst_addr); in rpc_sysfs_xprt_dstaddr_store()
407 xprt->addrlen = rpc_pton(xprt->xprt_net, buf, buf_len, saddr, in rpc_sysfs_xprt_dstaddr_store()
411 xprt_force_disconnect(xprt); in rpc_sysfs_xprt_dstaddr_store()
413 xprt_release_write(xprt, NULL); in rpc_sysfs_xprt_dstaddr_store()
415 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_store()
428 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_state_change() local
432 if (!xprt || !xps) { in rpc_sysfs_xprt_state_change()
448 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { in rpc_sysfs_xprt_state_change()
452 if (xprt->main) { in rpc_sysfs_xprt_state_change()
457 xprt_set_offline_locked(xprt, xps); in rpc_sysfs_xprt_state_change()
459 xprt_set_online_locked(xprt, xps); in rpc_sysfs_xprt_state_change()
461 if (test_bit(XPRT_OFFLINE, &xprt->state)) in rpc_sysfs_xprt_state_change()
462 xprt_delete_locked(xprt, xps); in rpc_sysfs_xprt_state_change()
468 xprt_release_write(xprt, NULL); in rpc_sysfs_xprt_state_change()
470 xprt_put(xprt); in rpc_sysfs_xprt_state_change()
479 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_del_xprt() local
482 if (!xprt || !xps) { in rpc_sysfs_xprt_del_xprt()
487 if (xprt->main) { in rpc_sysfs_xprt_del_xprt()
492 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { in rpc_sysfs_xprt_del_xprt()
497 xprt_set_offline_locked(xprt, xps); in rpc_sysfs_xprt_del_xprt()
498 xprt_delete_locked(xprt, xps); in rpc_sysfs_xprt_del_xprt()
501 xprt_release_write(xprt, NULL); in rpc_sysfs_xprt_del_xprt()
503 xprt_put(xprt); in rpc_sysfs_xprt_del_xprt()
550 struct rpc_sysfs_xprt *xprt; in rpc_sysfs_xprt_release() local
552 xprt = container_of(kobj, struct rpc_sysfs_xprt, kobject); in rpc_sysfs_xprt_release()
553 kfree(xprt); in rpc_sysfs_xprt_release()
569 kobject)->xprt->xprt_net; in rpc_sysfs_xprt_namespace()
701 struct rpc_xprt *xprt, in rpc_sysfs_xprt_alloc() argument
711 parent, "xprt-%d-%s", xprt->id, in rpc_sysfs_xprt_alloc()
712 xprt->address_strings[RPC_DISPLAY_PROTO]) == 0) in rpc_sysfs_xprt_alloc()
749 struct rpc_xprt *xprt, in rpc_sysfs_xprt_switch_setup() argument
758 net = xprt->xprt_net; in rpc_sysfs_xprt_switch_setup()
765 rpc_xprt_switch->xprt = xprt; in rpc_sysfs_xprt_switch_setup()
773 struct rpc_xprt *xprt, in rpc_sysfs_xprt_setup() argument
783 rpc_xprt = rpc_sysfs_xprt_alloc(&switch_obj->kobject, xprt, gfp_flags); in rpc_sysfs_xprt_setup()
785 xprt->xprt_sysfs = rpc_xprt; in rpc_sysfs_xprt_setup()
786 rpc_xprt->xprt = xprt; in rpc_sysfs_xprt_setup()
819 void rpc_sysfs_xprt_destroy(struct rpc_xprt *xprt) in rpc_sysfs_xprt_destroy() argument
821 struct rpc_sysfs_xprt *rpc_xprt = xprt->xprt_sysfs; in rpc_sysfs_xprt_destroy()
827 xprt->xprt_sysfs = NULL; in rpc_sysfs_xprt_destroy()