summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/btree_journal_iter.h
Commit message (Collapse)AuthorAgeFilesLines
* bcachefs: bch2_shoot_down_journal_keys()Kent Overstreet2024-04-031-0/+4
| | | | Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
* bcachefs: Be careful about btree node splits during journal replayKent Overstreet2024-03-311-2/+2
| | | | | | Don't pick a pivot that's going to be deleted. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
* bcachefs: btree node prefetching in check_topologyKent Overstreet2024-03-101-0/+1
| | | | | | | | | | btree_and_journal_iter is old code that we want to get rid of, but we're not ready to yet. lack of btree node prefetching is, it turns out, a real performance issue for fsck on spinning rust, so - add it. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
* bcachefs: btree_and_journal_iter.transKent Overstreet2024-03-101-5/+8
| | | | | | | we now always have a btree_trans when using a btree_and_journal_iter; prep work for adding prefetching to btree_and_journal_iter Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
* bcachefs: Proper refcounting for journal_keysKent Overstreet2023-11-241-1/+9
| | | | | | | | | The btree iterator code overlays keys from the journal until journal replay is finished; since we're now starting copygc/rebalance etc. before replay is finished, this is multithreaded access and thus needs refcounting. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
* bcachefs: btree_journal_iter.cKent Overstreet2023-10-221-0/+57
Split out a new file from recovery.c for managing the list of keys we read from the journal: before journal replay finishes the btree iterator code needs to be able to iterate over and return keys from the journal as well, so there's a fair bit of code here. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>