bcachefs: btree_and_journal_iter: don't iterate over too many whiteouts when prefetching
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 17 Nov 2024 19:39:46 +0000 (14:39 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sat, 21 Dec 2024 06:36:18 +0000 (01:36 -0500)
commit854724d116cbd1145cd3888239a5cc7ea44d8cdc
tree90e201455f947ff44b43abc0ed560ec97ecd8f95
parent06d7a56fe0bfc4f8c17bff6ca12d8bdd33e9f7e8
bcachefs: btree_and_journal_iter: don't iterate over too many whiteouts when prefetching

To help ameloriate issues with peek operations having to skip over
deletions in the journal - just bail out if all we're doing is
prefetching btree nodes.

Since btree node prefetching runs every time we iterate to a new node,
and has to sequentially scan ahead, this avoids another O(n^2).

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c
fs/bcachefs/btree_journal_iter.c
fs/bcachefs/btree_journal_iter.h