bcachefs: Use BTREE_ITER_PREFETCH in journal+btree iter
authorKent Overstreet <kent.overstreet@gmail.com>
Tue, 1 Dec 2020 16:40:59 +0000 (11:40 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:48 +0000 (17:08 -0400)
Introducing the journal+btree iter introduced a regression where we
stopped using BTREE_ITER_PREFETCH - this is a performance regression on
rotating disks.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/recovery.c

index 0b3521c9cc19ef3ba285805a05de94bcc8bfd717..a837d9eb0f6d73f56ac876391f21c6311d8c8e81 100644 (file)
@@ -187,7 +187,7 @@ void bch2_btree_and_journal_iter_init(struct btree_and_journal_iter *iter,
 {
        memset(iter, 0, sizeof(*iter));
 
-       iter->btree = bch2_trans_get_iter(trans, id, pos, 0);
+       iter->btree = bch2_trans_get_iter(trans, id, pos, BTREE_ITER_PREFETCH);
        bch2_journal_iter_init(&iter->journal, journal_keys, id, 0, pos);
 }