Lines Matching defs:xprt

18 #include <linux/sunrpc/xprt.h>
33 struct rpc_xprt *xprt)
35 if (unlikely(xprt_get(xprt) == NULL))
37 list_add_tail_rcu(&xprt->xprt_switch, &xps->xps_xprt_list);
40 xps->xps_net = xprt->xprt_net;
48 * @xprt: pointer to struct rpc_xprt
50 * Adds xprt to the end of the list of struct rpc_xprt in xps.
53 struct rpc_xprt *xprt)
55 if (xprt == NULL)
58 if (xps->xps_net == xprt->xprt_net || xps->xps_net == NULL)
59 xprt_switch_add_xprt_locked(xps, xprt);
61 rpc_sysfs_xprt_setup(xps, xprt, GFP_KERNEL);
65 struct rpc_xprt *xprt, bool offline)
67 if (unlikely(xprt == NULL))
69 if (!test_bit(XPRT_OFFLINE, &xprt->state) && offline)
75 list_del_rcu(&xprt->xprt_switch);
81 * @xprt: pointer to struct rpc_xprt
82 * @offline: indicates if the xprt that's being removed is in an offline state
84 * Removes xprt from the list of struct rpc_xprt in xps.
87 struct rpc_xprt *xprt, bool offline)
90 xprt_switch_remove_xprt_locked(xps, xprt, offline);
92 xprt_put(xprt);
121 * @xprt: pointer to struct rpc_xprt
125 * the entry xprt. Returns NULL on failure.
127 struct rpc_xprt_switch *xprt_switch_alloc(struct rpc_xprt *xprt,
142 rpc_sysfs_xprt_switch_setup(xps, xprt, gfp_flags);
143 xprt_switch_add_xprt_locked(xps, xprt);
145 rpc_sysfs_xprt_setup(xps, xprt, gfp_flags);
155 struct rpc_xprt *xprt;
157 xprt = list_first_entry(&xps->xps_xprt_list,
159 xprt_switch_remove_xprt_locked(xps, xprt, true);
161 xprt_put(xprt);
235 bool xprt_is_active(const struct rpc_xprt *xprt)
237 return (kref_read(&xprt->kref) != 0 &&
238 !test_bit(XPRT_OFFLINE, &xprt->state));
352 pr_info("RPC: addr %s already in xprt switch\n",
435 struct rpc_xprt *xprt;
441 xprt = __xprt_switch_find_next_entry_roundrobin(head, cur);
442 if (!xprt)
444 xprt_queuelen = atomic_long_read(&xprt->queuelen);
450 cur = xprt;
452 return xprt;
491 * xprt_iter_rewind - Resets the xprt iterator
514 * xprt_iter_init - Initialise an xprt iterator
529 * xprt_iter_init_listall - Initialise an xprt iterator
568 * xprt_iter_destroy - Destroys the xprt iterator
614 struct rpc_xprt *xprt;
617 xprt = xprt_iter_get_helper(xpi, xprt_iter_ops(xpi)->xpi_xprt);
619 return xprt;
631 struct rpc_xprt *xprt;
634 xprt = xprt_iter_get_helper(xpi, xprt_iter_ops(xpi)->xpi_next);
636 return xprt;