Lines Matching refs:xprt

68 	return xprt_get(x->xprt);  in rpc_sysfs_xprt_kobj_get_xprt()
93 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_dstaddr_show() local
96 if (!xprt) in rpc_sysfs_xprt_dstaddr_show()
98 ret = sprintf(buf, "%s\n", xprt->address_strings[RPC_DISPLAY_ADDR]); in rpc_sysfs_xprt_dstaddr_show()
99 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_show()
107 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_srcaddr_show() local
112 if (!xprt) in rpc_sysfs_xprt_srcaddr_show()
115 sock = container_of(xprt, struct sock_xprt, xprt); in rpc_sysfs_xprt_srcaddr_show()
121 xprt_put(xprt); in rpc_sysfs_xprt_srcaddr_show()
129 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_info_show() local
132 if (!xprt) in rpc_sysfs_xprt_info_show()
140 xprt->last_used, xprt->cong, xprt->cwnd, xprt->max_reqs, in rpc_sysfs_xprt_info_show()
141 xprt->min_reqs, xprt->num_reqs, xprt->binding.qlen, in rpc_sysfs_xprt_info_show()
142 xprt->sending.qlen, xprt->pending.qlen, in rpc_sysfs_xprt_info_show()
143 xprt->backlog.qlen, xprt->main, in rpc_sysfs_xprt_info_show()
144 (xprt->xprt_class->ident == XPRT_TRANSPORT_TCP) ? in rpc_sysfs_xprt_info_show()
145 get_srcport(xprt) : 0, in rpc_sysfs_xprt_info_show()
146 atomic_long_read(&xprt->queuelen), in rpc_sysfs_xprt_info_show()
147 (xprt->xprt_class->ident == XPRT_TRANSPORT_TCP) ? in rpc_sysfs_xprt_info_show()
148 xprt->address_strings[RPC_DISPLAY_PORT] : "0"); in rpc_sysfs_xprt_info_show()
149 xprt_put(xprt); in rpc_sysfs_xprt_info_show()
157 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_state_show() local
162 if (!xprt) in rpc_sysfs_xprt_state_show()
165 if (!xprt->state) { in rpc_sysfs_xprt_state_show()
168 locked = test_bit(XPRT_LOCKED, &xprt->state); in rpc_sysfs_xprt_state_show()
169 connected = test_bit(XPRT_CONNECTED, &xprt->state); in rpc_sysfs_xprt_state_show()
170 connecting = test_bit(XPRT_CONNECTING, &xprt->state); in rpc_sysfs_xprt_state_show()
171 close_wait = test_bit(XPRT_CLOSE_WAIT, &xprt->state); in rpc_sysfs_xprt_state_show()
172 bound = test_bit(XPRT_BOUND, &xprt->state); in rpc_sysfs_xprt_state_show()
173 binding = test_bit(XPRT_BINDING, &xprt->state); in rpc_sysfs_xprt_state_show()
174 closing = test_bit(XPRT_CLOSING, &xprt->state); in rpc_sysfs_xprt_state_show()
175 congested = test_bit(XPRT_CONGESTED, &xprt->state); in rpc_sysfs_xprt_state_show()
176 cwnd_wait = test_bit(XPRT_CWND_WAIT, &xprt->state); in rpc_sysfs_xprt_state_show()
177 write_space = test_bit(XPRT_WRITE_SPACE, &xprt->state); in rpc_sysfs_xprt_state_show()
178 offline = test_bit(XPRT_OFFLINE, &xprt->state); in rpc_sysfs_xprt_state_show()
179 remove = test_bit(XPRT_REMOVE, &xprt->state); in rpc_sysfs_xprt_state_show()
196 xprt_put(xprt); in rpc_sysfs_xprt_state_show()
223 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_dstaddr_store() local
230 if (!xprt) in rpc_sysfs_xprt_dstaddr_store()
232 if (!(xprt->xprt_class->ident == XPRT_TRANSPORT_TCP || in rpc_sysfs_xprt_dstaddr_store()
233 xprt->xprt_class->ident == XPRT_TRANSPORT_RDMA)) { in rpc_sysfs_xprt_dstaddr_store()
234 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_store()
238 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { in rpc_sysfs_xprt_dstaddr_store()
242 saddr = (struct sockaddr *)&xprt->addr; in rpc_sysfs_xprt_dstaddr_store()
257 rcu_dereference_raw(xprt->address_strings[RPC_DISPLAY_ADDR]); in rpc_sysfs_xprt_dstaddr_store()
258 rcu_assign_pointer(xprt->address_strings[RPC_DISPLAY_ADDR], dst_addr); in rpc_sysfs_xprt_dstaddr_store()
260 xprt->addrlen = rpc_pton(xprt->xprt_net, buf, buf_len, saddr, in rpc_sysfs_xprt_dstaddr_store()
264 xprt_force_disconnect(xprt); in rpc_sysfs_xprt_dstaddr_store()
266 xprt_release_write(xprt, NULL); in rpc_sysfs_xprt_dstaddr_store()
268 xprt_put(xprt); in rpc_sysfs_xprt_dstaddr_store()
281 struct rpc_xprt *xprt = rpc_sysfs_xprt_kobj_get_xprt(kobj); in rpc_sysfs_xprt_state_change() local
285 if (!xprt) in rpc_sysfs_xprt_state_change()
297 if (wait_on_bit_lock(&xprt->state, XPRT_LOCKED, TASK_KILLABLE)) { in rpc_sysfs_xprt_state_change()
301 if (xprt->main) { in rpc_sysfs_xprt_state_change()
306 set_bit(XPRT_OFFLINE, &xprt->state); in rpc_sysfs_xprt_state_change()
311 clear_bit(XPRT_OFFLINE, &xprt->state); in rpc_sysfs_xprt_state_change()
316 if (test_bit(XPRT_OFFLINE, &xprt->state)) { in rpc_sysfs_xprt_state_change()
317 set_bit(XPRT_REMOVE, &xprt->state); in rpc_sysfs_xprt_state_change()
318 xprt_force_disconnect(xprt); in rpc_sysfs_xprt_state_change()
319 if (test_bit(XPRT_CONNECTED, &xprt->state)) { in rpc_sysfs_xprt_state_change()
320 if (!xprt->sending.qlen && in rpc_sysfs_xprt_state_change()
321 !xprt->pending.qlen && in rpc_sysfs_xprt_state_change()
322 !xprt->backlog.qlen && in rpc_sysfs_xprt_state_change()
323 !atomic_long_read(&xprt->queuelen)) in rpc_sysfs_xprt_state_change()
324 rpc_xprt_switch_remove_xprt(xps, xprt); in rpc_sysfs_xprt_state_change()
332 xprt_release_write(xprt, NULL); in rpc_sysfs_xprt_state_change()
334 xprt_put(xprt); in rpc_sysfs_xprt_state_change()
380 struct rpc_sysfs_xprt *xprt; in rpc_sysfs_xprt_release() local
382 xprt = container_of(kobj, struct rpc_sysfs_xprt, kobject); in rpc_sysfs_xprt_release()
383 kfree(xprt); in rpc_sysfs_xprt_release()
399 kobject)->xprt->xprt_net; in rpc_sysfs_xprt_namespace()
498 struct rpc_xprt *xprt, in rpc_sysfs_xprt_alloc() argument
508 parent, "xprt-%d-%s", xprt->id, in rpc_sysfs_xprt_alloc()
509 xprt->address_strings[RPC_DISPLAY_PROTO]) == 0) in rpc_sysfs_xprt_alloc()
543 struct rpc_xprt *xprt, in rpc_sysfs_xprt_switch_setup() argument
552 net = xprt->xprt_net; in rpc_sysfs_xprt_switch_setup()
559 rpc_xprt_switch->xprt = xprt; in rpc_sysfs_xprt_switch_setup()
565 struct rpc_xprt *xprt, in rpc_sysfs_xprt_setup() argument
572 rpc_xprt = rpc_sysfs_xprt_alloc(&switch_obj->kobject, xprt, gfp_flags); in rpc_sysfs_xprt_setup()
574 xprt->xprt_sysfs = rpc_xprt; in rpc_sysfs_xprt_setup()
575 rpc_xprt->xprt = xprt; in rpc_sysfs_xprt_setup()
608 void rpc_sysfs_xprt_destroy(struct rpc_xprt *xprt) in rpc_sysfs_xprt_destroy() argument
610 struct rpc_sysfs_xprt *rpc_xprt = xprt->xprt_sysfs; in rpc_sysfs_xprt_destroy()
616 xprt->xprt_sysfs = NULL; in rpc_sysfs_xprt_destroy()