diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c index f00e327d4d35..ddfba16a2998 100644 --- a/fs/bcachefs/recovery.c +++ b/fs/bcachefs/recovery.c @@ -214,6 +214,11 @@ 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); @@ -274,11 +279,6 @@ 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);