diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-26 05:26:48 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:41 +0300 |
commit | f3b8403ee70e5dcce5a16d3517b411bd8839319b (patch) | |
tree | 1e0c3d0d5bef54c9407279ff9ea787fc685eee90 | |
parent | d704d62355b76e3f1f7efbe9b3072627fd4b4a3f (diff) | |
download | linux-f3b8403ee70e5dcce5a16d3517b411bd8839319b.tar.xz |
bcachefs: Run bch2_fs_counters_init() earlier
We need counters to be initialized before initializing shrinkers - the
shrinker callbacks will update those counters. This fixes a segfault in
userspace.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/super.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 8dc87c103216..29e2b76322d7 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -781,7 +781,8 @@ static struct bch_fs *bch2_fs_alloc(struct bch_sb *sb, struct bch_opts opts) goto err; } - ret = bch2_io_clock_init(&c->io_clock[READ]) ?: + ret = bch2_fs_counters_init(c) ?: + bch2_io_clock_init(&c->io_clock[READ]) ?: bch2_io_clock_init(&c->io_clock[WRITE]) ?: bch2_fs_journal_init(&c->journal) ?: bch2_fs_replicas_init(c) ?: @@ -795,8 +796,7 @@ static struct bch_fs *bch2_fs_alloc(struct bch_sb *sb, struct bch_opts opts) bch2_fs_encryption_init(c) ?: bch2_fs_compress_init(c) ?: bch2_fs_ec_init(c) ?: - bch2_fs_fsio_init(c) ?: - bch2_fs_counters_init(c); + bch2_fs_fsio_init(c); if (ret) goto err; |