bcachefs: start erasure coding after journal replay
authorKent Overstreet <kent.overstreet@gmail.com>
Mon, 19 Nov 2018 01:42:02 +0000 (20:42 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:11 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/recovery.c

index ddfba16a29985f11effb5ab2a47ef6b13710dbbd..f00e327d4d35f3655d4ab8e2c65503c266ed131a 100644 (file)
@@ -214,11 +214,6 @@ int bch2_fs_recovery(struct bch_fs *c)
 
        set_bit(BCH_FS_ALLOC_READ_DONE, &c->flags);
 
-       err = "cannot allocate memory";
-       ret = bch2_fs_ec_start(c);
-       if (ret)
-               goto err;
-
        bch_verbose(c, "starting mark and sweep:");
        err = "error in recovery";
        ret = bch2_initial_gc(c, &journal);
@@ -279,6 +274,11 @@ int bch2_fs_recovery(struct bch_fs *c)
                bch_verbose(c, "quotas done");
        }
 
+       err = "cannot allocate memory";
+       ret = bch2_fs_ec_start(c);
+       if (ret)
+               goto err;
+
 out:
        bch2_journal_entries_free(&journal);
        kfree(clean);