diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-04-05 08:23:55 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:08:59 +0300 |
commit | f72b1fd710870547f566d7d02563833eda43e67d (patch) | |
tree | 79638968be2d64eb8c5d7e5af991607809a24f45 | |
parent | ecc1420944c73205225ed6fe4c1781c09759dd10 (diff) | |
download | linux-f72b1fd710870547f566d7d02563833eda43e67d.tar.xz |
bcachefs: Fix a startup race
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/btree_key_cache.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c index 74d982c3402a..0af46335bd00 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) |