diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-06 23:04:33 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-03 22:52:21 -0400 |
commit | 45cc6ba377078dfccec97c49694ee12cb99467ce (patch) | |
tree | 020c244acdcedce3239252868437058875a9b33b | |
parent | 7b703a552d933078a762919386c9116294556638 (diff) |
bcachefs: Fix for cmd_list_journal
cmd_list_journal wasn't correctly listing the most recent journal
entries as blacklisted - because in the recovery path when just reading
the journal, we were failing to add those to the blacklist table.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/recovery.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c index edb04f65a148..5fe7595d36be 100644 --- a/fs/bcachefs/recovery.c +++ b/fs/bcachefs/recovery.c @@ -1175,9 +1175,6 @@ use_clean: blacklist_seq = journal_seq = le64_to_cpu(clean->journal_seq) + 1; } - if (c->opts.read_journal_only) - goto out; - if (c->opts.reconstruct_alloc) { c->sb.compat &= ~(1ULL << BCH_COMPAT_alloc_info); drop_alloc_keys(&c->journal_keys); @@ -1208,6 +1205,13 @@ use_clean: } } + /* + * note: cmd_list_journal needs the blacklist table fully up to date so + * it can asterisk ignored journal entries: + */ + if (c->opts.read_journal_only) + goto out; + ret = bch2_fs_journal_start(&c->journal, journal_seq); if (ret) goto err; |