diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-04-04 21:53:12 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:20 -0400 |
commit | 1dd7f9d98de0740b42f1ac3f0b1d8af9c76801de (patch) | |
tree | bcc22ad8766da57180ccc67812966aab79434512 /fs/bcachefs/journal_types.h | |
parent | ece254b258980cfd5a0fa11adce8e178c8d34181 (diff) | |
download | linux-stable-1dd7f9d98de0740b42f1ac3f0b1d8af9c76801de.tar.gz linux-stable-1dd7f9d98de0740b42f1ac3f0b1d8af9c76801de.tar.bz2 linux-stable-1dd7f9d98de0740b42f1ac3f0b1d8af9c76801de.zip |
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>
Diffstat (limited to 'fs/bcachefs/journal_types.h')
-rw-r--r-- | fs/bcachefs/journal_types.h | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/fs/bcachefs/journal_types.h b/fs/bcachefs/journal_types.h index 85bf5e2706f7..7349b50bc5e7 100644 --- a/fs/bcachefs/journal_types.h +++ b/fs/bcachefs/journal_types.h @@ -54,24 +54,6 @@ struct journal_entry_pin { u64 seq; }; -/* corresponds to a btree node with a blacklisted bset: */ -struct blacklisted_node { - __le64 seq; - enum btree_id btree_id; - struct bpos pos; -}; - -struct journal_seq_blacklist { - struct list_head list; - u64 start; - u64 end; - - struct journal_entry_pin pin; - - struct blacklisted_node *entries; - size_t nr_entries; -}; - struct journal_res { bool ref; u8 idx; @@ -222,10 +204,6 @@ struct journal { u64 replay_journal_seq; - struct mutex blacklist_lock; - struct list_head seq_blacklist; - struct journal_seq_blacklist *new_blacklist; - struct write_point wp; spinlock_t err_lock; |