From 40e14938eeebf74830c870a067cca0e8c73feed7 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 29 Mar 2021 00:21:38 -0400 Subject: Update bcachefs sources to 9922afc8b6 bcachefs: Add repair code for out of order keys in a btree node. --- libbcachefs/btree_key_cache.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libbcachefs/btree_key_cache.h') diff --git a/libbcachefs/btree_key_cache.h b/libbcachefs/btree_key_cache.h index 02715cd2..4e1e5a9c 100644 --- a/libbcachefs/btree_key_cache.h +++ b/libbcachefs/btree_key_cache.h @@ -1,6 +1,15 @@ #ifndef _BCACHEFS_BTREE_KEY_CACHE_H #define _BCACHEFS_BTREE_KEY_CACHE_H +static inline size_t bch2_nr_btree_keys_want_flush(struct bch_fs *c) +{ + size_t nr_dirty = atomic_long_read(&c->btree_key_cache.nr_dirty); + size_t nr_keys = atomic_long_read(&c->btree_key_cache.nr_keys); + size_t max_dirty = nr_keys / 4; + + return max_t(ssize_t, 0, nr_dirty - max_dirty); +} + static inline size_t bch2_nr_btree_keys_need_flush(struct bch_fs *c) { size_t nr_dirty = atomic_long_read(&c->btree_key_cache.nr_dirty); -- cgit v1.2.3