Lines Matching refs:xprt
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
67 if (unlikely(xprt == NULL)) in xprt_switch_remove_xprt_locked()
69 if (!test_bit(XPRT_OFFLINE, &xprt->state) && offline) in xprt_switch_remove_xprt_locked()
75 list_del_rcu(&xprt->xprt_switch); in xprt_switch_remove_xprt_locked()
87 struct rpc_xprt *xprt, bool offline) in rpc_xprt_switch_remove_xprt() argument
90 xprt_switch_remove_xprt_locked(xps, xprt, offline); in rpc_xprt_switch_remove_xprt()
92 xprt_put(xprt); in rpc_xprt_switch_remove_xprt()
127 struct rpc_xprt_switch *xprt_switch_alloc(struct rpc_xprt *xprt, in xprt_switch_alloc() argument
142 rpc_sysfs_xprt_switch_setup(xps, xprt, gfp_flags); in xprt_switch_alloc()
143 xprt_switch_add_xprt_locked(xps, xprt); in xprt_switch_alloc()
145 rpc_sysfs_xprt_setup(xps, xprt, gfp_flags); in xprt_switch_alloc()
155 struct rpc_xprt *xprt; in xprt_switch_free_entries() local
157 xprt = list_first_entry(&xps->xps_xprt_list, in xprt_switch_free_entries()
159 xprt_switch_remove_xprt_locked(xps, xprt, true); in xprt_switch_free_entries()
161 xprt_put(xprt); in xprt_switch_free_entries()
235 bool xprt_is_active(const struct rpc_xprt *xprt) in xprt_is_active() argument
237 return (kref_read(&xprt->kref) != 0 && in xprt_is_active()
238 !test_bit(XPRT_OFFLINE, &xprt->state)); in xprt_is_active()
422 struct rpc_xprt *xprt; in xprt_switch_find_next_entry_roundrobin() local
428 xprt = __xprt_switch_find_next_entry_roundrobin(head, cur); in xprt_switch_find_next_entry_roundrobin()
429 if (!xprt) in xprt_switch_find_next_entry_roundrobin()
431 xprt_queuelen = atomic_long_read(&xprt->queuelen); in xprt_switch_find_next_entry_roundrobin()
437 cur = xprt; in xprt_switch_find_next_entry_roundrobin()
439 return xprt; in xprt_switch_find_next_entry_roundrobin()
601 struct rpc_xprt *xprt; in xprt_iter_get_xprt() local
604 xprt = xprt_iter_get_helper(xpi, xprt_iter_ops(xpi)->xpi_xprt); in xprt_iter_get_xprt()
606 return xprt; in xprt_iter_get_xprt()
618 struct rpc_xprt *xprt; in xprt_iter_get_next() local
621 xprt = xprt_iter_get_helper(xpi, xprt_iter_ops(xpi)->xpi_next); in xprt_iter_get_next()
623 return xprt; in xprt_iter_get_next()