diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-04-04 21:53:12 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-04-04 22:23:43 -0400 |
commit | d83b992f653d9f742f3f8567dbcfd1f4f72e858f (patch) | |
tree | a453bd4f6210cb6465b51120bda7597800c96cdc /fs/bcachefs/btree_iter.c | |
parent | 9408d84fa9cc75251b1e2dcca8490baebb9e95e9 (diff) |
bcachefs: Rewrite journal_seq_blacklist machinery
Now, we store blacklisted journal sequence numbers in the superblock,
not the journal: this helps to greatly simplify the code, and more
importantly it's now implemented in a way that doesn't require all btree
nodes to be visited before starting the journal - instead, we
unconditionally blacklist the next 4 journal sequence numbers after an
unclean shutdown.
Diffstat (limited to 'fs/bcachefs/btree_iter.c')
-rw-r--r-- | fs/bcachefs/btree_iter.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 78f27ff800d0..33cbc2ff5c9a 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1155,6 +1155,8 @@ struct btree *bch2_btree_iter_next_node(struct btree_iter *iter, unsigned depth) if (!btree_iter_node(iter, iter->level)) return NULL; + bch2_trans_cond_resched(iter->trans); + btree_iter_up(iter); if (!bch2_btree_node_relock(iter, iter->level)) |