summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_key_cache.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-04-05 01:23:55 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-05-30 18:16:16 -0400
commitd966f1a9698997ed30ccee9425a83836acb784d4 (patch)
tree3de7d2f139b0e41ebb91c5ca8ebac639eb7b2314 /fs/bcachefs/btree_key_cache.c
parentaaad988c8ad8e87bfec1090e129a9208f23c9e4e (diff)
bcachefs: Fix a startup race
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/btree_key_cache.c')
-rw-r--r--fs/bcachefs/btree_key_cache.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c
index 215b2e1963e1..833c8fd16a4f 100644
--- a/fs/bcachefs/btree_key_cache.c
+++ b/fs/bcachefs/btree_key_cache.c
@@ -690,20 +690,16 @@ int bch2_fs_btree_key_cache_init(struct btree_key_cache *c)
{
int ret;
- c->shrink.seeks = 1;
- c->shrink.count_objects = bch2_btree_key_cache_count;
- c->shrink.scan_objects = bch2_btree_key_cache_scan;
-
- ret = register_shrinker(&c->shrink);
- if (ret)
- return ret;
-
ret = rhashtable_init(&c->table, &bch2_btree_key_cache_params);
if (ret)
return ret;
c->table_init_done = true;
- return 0;
+
+ c->shrink.seeks = 1;
+ c->shrink.count_objects = bch2_btree_key_cache_count;
+ c->shrink.scan_objects = bch2_btree_key_cache_scan;
+ return register_shrinker(&c->shrink);
}
void bch2_btree_key_cache_to_text(struct printbuf *out, struct btree_key_cache *c)