diff options
Diffstat (limited to 'fs/bcachefs/btree_journal_iter.c')
-rw-r--r-- | fs/bcachefs/btree_journal_iter.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/fs/bcachefs/btree_journal_iter.c b/fs/bcachefs/btree_journal_iter.c index 341d31b3a1f1..ea839560a136 100644 --- a/fs/bcachefs/btree_journal_iter.c +++ b/fs/bcachefs/btree_journal_iter.c @@ -717,18 +717,6 @@ static void __journal_keys_sort(struct journal_keys *keys) keys->nr = dst - keys->data; } -static bool should_rewind_entry(struct bch_fs *c, struct jset_entry *entry) -{ - if (entry->level) - return false; - if (btree_id_is_alloc(entry->btree_id)) - return false; - if (c->opts.journal_rewind_no_extents && - entry->btree_id == BTREE_ID_extents) - return false; - return true; -} - int bch2_journal_keys_sort(struct bch_fs *c) { struct genradix_iter iter; @@ -747,8 +735,9 @@ int bch2_journal_keys_sort(struct bch_fs *c) cond_resched(); vstruct_for_each(&i->j, entry) { - bool rewind = le64_to_cpu(i->j.seq) >= rewind_seq && - should_rewind_entry(c, entry); + bool rewind = !entry->level && + !btree_id_is_alloc(entry->btree_id) && + le64_to_cpu(i->j.seq) >= rewind_seq; if (entry->type != (rewind ? BCH_JSET_ENTRY_overwrite |