]> git.sesse.net Git - bcachefs-tools-debian/blob - libbcache/keybuf.h
bcache in userspace; userspace fsck
[bcachefs-tools-debian] / libbcache / keybuf.h
1 #ifndef _BCACHE_KEYBUF_H
2 #define _BCACHE_KEYBUF_H
3
4 #include "keybuf_types.h"
5
6 typedef bool (keybuf_pred_fn)(struct keybuf *, struct bkey_s_c);
7
8 void bch_keybuf_init(struct keybuf *);
9 void bch_refill_keybuf(struct cache_set *, struct keybuf *,
10                        struct bpos, keybuf_pred_fn *);
11 void bch_keybuf_recalc_oldest_gens(struct cache_set *, struct keybuf *);
12 bool bch_keybuf_check_overlapping(struct keybuf *, struct bpos, struct bpos);
13 void bch_keybuf_put(struct keybuf *, struct keybuf_key *);
14 struct keybuf_key *bch_keybuf_next(struct keybuf *);
15
16 #endif /* _BCACHE_KEYBUF_H */