BCH_TRANS_COMMIT_journal_reclaim without BCH_WATERMARK_reclaim means
"return an error if low on journal space" - but accounting replay must
succeed.

Fixes https://github.com/koverstreet/bcachefs/issues/656

Signed-off-by: Kent Overstreet <[email protected]>
---
 fs/bcachefs/recovery.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c
index 6db72d3bad7d..55e1504a8130 100644
--- a/fs/bcachefs/recovery.c
+++ b/fs/bcachefs/recovery.c
@@ -287,7 +287,8 @@ int bch2_journal_replay(struct bch_fs *c)
                                BCH_TRANS_COMMIT_no_enospc|
                                BCH_TRANS_COMMIT_journal_reclaim|
                                BCH_TRANS_COMMIT_skip_accounting_apply|
-                               BCH_TRANS_COMMIT_no_journal_res,
+                               BCH_TRANS_COMMIT_no_journal_res|
+                               BCH_WATERMARK_reclaim,
                             bch2_journal_replay_accounting_key(trans, k));
                if (bch2_fs_fatal_err_on(ret, c, "error replaying accounting; 
%s", bch2_err_str(ret)))
                        goto err;
-- 
2.45.2


Reply via email to