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