Lines Matching refs:ref_node
161 static void __io_rsrc_put_work(struct io_rsrc_node *ref_node) in __io_rsrc_put_work() argument
163 struct io_rsrc_data *rsrc_data = ref_node->rsrc_data; in __io_rsrc_put_work()
167 list_for_each_entry_safe(prsrc, tmp, &ref_node->rsrc_list, list) { in __io_rsrc_put_work()
184 io_rsrc_node_destroy(ref_node); in __io_rsrc_put_work()
198 struct io_rsrc_node *ref_node; in io_rsrc_put_work() local
201 ref_node = llist_entry(node, struct io_rsrc_node, llist); in io_rsrc_put_work()
202 __io_rsrc_put_work(ref_node); in io_rsrc_put_work()
213 void io_rsrc_node_destroy(struct io_rsrc_node *ref_node) in io_rsrc_node_destroy() argument
215 percpu_ref_exit(&ref_node->refs); in io_rsrc_node_destroy()
216 kfree(ref_node); in io_rsrc_node_destroy()
251 struct io_rsrc_node *ref_node; in io_rsrc_node_alloc() local
253 ref_node = kzalloc(sizeof(*ref_node), GFP_KERNEL); in io_rsrc_node_alloc()
254 if (!ref_node) in io_rsrc_node_alloc()
257 if (percpu_ref_init(&ref_node->refs, io_rsrc_node_ref_zero, in io_rsrc_node_alloc()
259 kfree(ref_node); in io_rsrc_node_alloc()
262 INIT_LIST_HEAD(&ref_node->node); in io_rsrc_node_alloc()
263 INIT_LIST_HEAD(&ref_node->rsrc_list); in io_rsrc_node_alloc()
264 ref_node->done = false; in io_rsrc_node_alloc()
265 return ref_node; in io_rsrc_node_alloc()