X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Fbtree_gc.h;h=607575f83a00232b67d026a0423f9d486f044f2e;hb=HEAD;hp=8de54005e4eaf8f299c5318b8dbd3ef7c6ba0df2;hpb=7f77afa955e81da5a55b55e22e7e6f9fee1709a5;p=bcachefs-tools-debian diff --git a/libbcachefs/btree_gc.h b/libbcachefs/btree_gc.h index 8de5400..607575f 100644 --- a/libbcachefs/btree_gc.h +++ b/libbcachefs/btree_gc.h @@ -2,8 +2,10 @@ #ifndef _BCACHEFS_BTREE_GC_H #define _BCACHEFS_BTREE_GC_H +#include "bkey.h" #include "btree_types.h" +int bch2_check_topology(struct bch_fs *); int bch2_gc(struct bch_fs *, bool, bool); int bch2_gc_gens(struct bch_fs *); void bch2_gc_thread_stop(struct bch_fs *); @@ -50,7 +52,7 @@ static inline int gc_pos_cmp(struct gc_pos l, struct gc_pos r) static inline enum gc_phase btree_id_to_gc_phase(enum btree_id id) { switch (id) { -#define x(name, v) case BTREE_ID_##name: return GC_PHASE_BTREE_##name; +#define x(name, v, ...) case BTREE_ID_##name: return GC_PHASE_BTREE_##name; BCH_BTREE_IDS() #undef x default: @@ -105,7 +107,8 @@ static inline bool gc_visited(struct bch_fs *c, struct gc_pos pos) static inline void bch2_do_gc_gens(struct bch_fs *c) { atomic_inc(&c->kick_gc); - wake_up_process(c->gc_thread); + if (c->gc_thread) + wake_up_process(c->gc_thread); } #endif /* _BCACHEFS_BTREE_GC_H */