Lines Matching refs:rpc_xprt_switch

22 typedef struct rpc_xprt *(*xprt_switch_find_xprt_t)(struct rpc_xprt_switch *xps,
29 static void xprt_switch_add_xprt_locked(struct rpc_xprt_switch *xps,
43 * rpc_xprt_switch_add_xprt - Add a new rpc_xprt to an rpc_xprt_switch
44 * @xps: pointer to struct rpc_xprt_switch
49 void rpc_xprt_switch_add_xprt(struct rpc_xprt_switch *xps,
60 static void xprt_switch_remove_xprt_locked(struct rpc_xprt_switch *xps,
74 * rpc_xprt_switch_remove_xprt - Removes an rpc_xprt from a rpc_xprt_switch
75 * @xps: pointer to struct rpc_xprt_switch
80 void rpc_xprt_switch_remove_xprt(struct rpc_xprt_switch *xps,
90 * xprt_switch_alloc - Allocate a new struct rpc_xprt_switch
94 * On success, returns an initialised struct rpc_xprt_switch, containing
97 struct rpc_xprt_switch *xprt_switch_alloc(struct rpc_xprt *xprt,
100 struct rpc_xprt_switch *xps;
117 static void xprt_switch_free_entries(struct rpc_xprt_switch *xps)
135 struct rpc_xprt_switch *xps = container_of(kref,
136 struct rpc_xprt_switch, xps_kref);
143 * xprt_switch_get - Return a reference to a rpc_xprt_switch
144 * @xps: pointer to struct rpc_xprt_switch
148 struct rpc_xprt_switch *xprt_switch_get(struct rpc_xprt_switch *xps)
156 * xprt_switch_put - Release a reference to a rpc_xprt_switch
157 * @xps: pointer to struct rpc_xprt_switch
161 void xprt_switch_put(struct rpc_xprt_switch *xps)
168 * rpc_xprt_switch_set_roundrobin - Set a round-robin policy on rpc_xprt_switch
169 * @xps: pointer to struct rpc_xprt_switch
173 void rpc_xprt_switch_set_roundrobin(struct rpc_xprt_switch *xps)
219 struct rpc_xprt_switch *xps = rcu_dereference(xpi->xpi_xpswitch);
245 struct rpc_xprt_switch *xps = rcu_dereference(xpi->xpi_xpswitch);
257 bool __rpc_xprt_switch_has_addr(struct rpc_xprt_switch *xps,
277 bool rpc_xprt_switch_has_addr(struct rpc_xprt_switch *xps,
307 struct rpc_xprt *xprt_switch_set_next_cursor(struct rpc_xprt_switch *xps,
323 struct rpc_xprt_switch *xps = rcu_dereference(xpi->xpi_xpswitch);
343 struct rpc_xprt *xprt_switch_find_next_entry_roundrobin(struct rpc_xprt_switch *xps,
375 struct rpc_xprt *xprt_switch_find_next_entry_all(struct rpc_xprt_switch *xps,
404 struct rpc_xprt_switch *xps,
415 * @xps: pointer to rpc_xprt_switch
422 struct rpc_xprt_switch *xps)
430 * @xps: pointer to rpc_xprt_switch
436 struct rpc_xprt_switch *xps)
442 * xprt_iter_xchg_switch - Atomically swap out the rpc_xprt_switch
444 * @newswitch: pointer to a new rpc_xprt_switch or NULL
448 struct rpc_xprt_switch *xprt_iter_xchg_switch(struct rpc_xprt_iter *xpi,
449 struct rpc_xprt_switch *newswitch)
451 struct rpc_xprt_switch __rcu *oldswitch;
532 /* Policy for always returning the first entry in the rpc_xprt_switch */
540 /* Policy for round-robin iteration of entries in the rpc_xprt_switch */
548 /* Policy for once-through iteration of entries in the rpc_xprt_switch */