From: Kent Overstreet Date: Mon, 5 Apr 2021 05:23:55 +0000 (-0400) Subject: bcachefs: Fix a startup race X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f72b1fd710870547f566d7d02563833eda43e67d;p=linux.git bcachefs: Fix a startup race Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c index 74d982c3402a0..0af46335bd005 100644 --- a/fs/bcachefs/btree_key_cache.c +++ b/fs/bcachefs/btree_key_cache.c @@ -692,17 +692,16 @@ int bch2_fs_btree_key_cache_init(struct btree_key_cache *bc) struct bch_fs *c = container_of(bc, struct bch_fs, btree_key_cache); int ret; - bc->shrink.seeks = 1; - bc->shrink.count_objects = bch2_btree_key_cache_count; - bc->shrink.scan_objects = bch2_btree_key_cache_scan; - - ret = register_shrinker(&bc->shrink, "%s/btree_key_cache", c->name) ?: - rhashtable_init(&bc->table, &bch2_btree_key_cache_params); + ret = rhashtable_init(&bc->table, &bch2_btree_key_cache_params); if (ret) return ret; bc->table_init_done = true; - return 0; + + bc->shrink.seeks = 1; + bc->shrink.count_objects = bch2_btree_key_cache_count; + bc->shrink.scan_objects = bch2_btree_key_cache_scan; + return register_shrinker(&bc->shrink, "%s/btree_key_cache", c->name); } void bch2_btree_key_cache_to_text(struct printbuf *out, struct btree_key_cache *c)