bcachefs: Rewrite journal_seq_blacklist machinery
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 5 Apr 2019 01:53:12 +0000 (21:53 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:20 +0000 (17:08 -0400)
commit1dd7f9d98de0740b42f1ac3f0b1d8af9c76801de
treebcc22ad8766da57180ccc67812966aab79434512
parentece254b258980cfd5a0fa11adce8e178c8d34181
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.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
15 files changed:
fs/bcachefs/bcachefs.h
fs/bcachefs/bcachefs_format.h
fs/bcachefs/btree_io.c
fs/bcachefs/btree_iter.c
fs/bcachefs/inode.h
fs/bcachefs/journal.c
fs/bcachefs/journal.h
fs/bcachefs/journal_io.c
fs/bcachefs/journal_io.h
fs/bcachefs/journal_seq_blacklist.c
fs/bcachefs/journal_seq_blacklist.h
fs/bcachefs/journal_types.h
fs/bcachefs/recovery.c
fs/bcachefs/super-io.c
fs/bcachefs/super.c