From 9ae28f824e1bcc922c8f20d6b502ed0388026e3a Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 21 Jun 2021 16:30:52 -0400 Subject: [PATCH] bcachefs: Start journal reclaim thread earlier Especially in userspace, we sometime run into resource exhaustion issues with starting up threads after mark and sweep/fsck. Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- fs/bcachefs/journal.c | 2 +- fs/bcachefs/super.c | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/fs/bcachefs/journal.c b/fs/bcachefs/journal.c index c2b1eef6265a1..d5bbbf619359a 100644 --- a/fs/bcachefs/journal.c +++ b/fs/bcachefs/journal.c @@ -1044,7 +1044,7 @@ int bch2_fs_journal_start(struct journal *j, u64 cur_seq, bch2_journal_space_available(j); spin_unlock(&j->lock); - return 0; + return bch2_journal_reclaim_start(j); } /* init/exit: */ diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 0ff80816a54f3..8de04bfae800a 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -276,7 +276,7 @@ static void bch2_writes_disabled(struct percpu_ref *writes) void bch2_fs_read_only(struct bch_fs *c) { if (!test_bit(BCH_FS_RW, &c->flags)) { - BUG_ON(c->journal.reclaim_thread); + bch2_journal_reclaim_stop(&c->journal); return; } @@ -431,12 +431,6 @@ static int __bch2_fs_read_write(struct bch_fs *c, bool early) for_each_rw_member(ca, c, i) bch2_wake_allocator(ca); - ret = bch2_journal_reclaim_start(&c->journal); - if (ret) { - bch_err(c, "error starting journal reclaim: %i", ret); - return ret; - } - if (!early) { ret = bch2_fs_read_write_late(c); if (ret) -- 2.30.2