1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_ASYNC_OBJS_TYPES_H
3 #define _BCACHEFS_ASYNC_OBJS_TYPES_H
4 
5 #define BCH_ASYNC_OBJ_LISTS()						\
6 	x(promote)							\
7 	x(rbio)								\
8 	x(write_op)							\
9 	x(btree_read_bio)						\
10 	x(btree_write_bio)
11 
12 enum bch_async_obj_lists {
13 #define x(n)		BCH_ASYNC_OBJ_LIST_##n,
14 	BCH_ASYNC_OBJ_LISTS()
15 #undef x
16 	BCH_ASYNC_OBJ_NR
17 };
18 
19 struct async_obj_list {
20 	struct fast_list	list;
21 	void			(*obj_to_text)(struct printbuf *, void *);
22 	unsigned		idx;
23 };
24 
25 #endif /* _BCACHEFS_ASYNC_OBJS_TYPES_H */
26