bcachefs: Add an option to control btree node prefetching
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
8a0dda6fd6
commit
49a5192c0e
@ -897,7 +897,8 @@ static noinline int btree_node_iter_and_journal_peek(struct btree_trans *trans,
|
||||
|
||||
bch2_bkey_buf_reassemble(out, c, k);
|
||||
|
||||
if (flags & BTREE_ITER_PREFETCH)
|
||||
if ((flags & BTREE_ITER_PREFETCH) &&
|
||||
c->opts.btree_node_prefetch)
|
||||
ret = btree_path_prefetch_j(trans, path, &jiter);
|
||||
|
||||
bch2_btree_and_journal_iter_exit(&jiter);
|
||||
@ -929,7 +930,8 @@ static __always_inline int btree_path_down(struct btree_trans *trans,
|
||||
bch2_bkey_buf_unpack(&tmp, c, l->b,
|
||||
bch2_btree_node_iter_peek(&l->iter, l->b));
|
||||
|
||||
if (flags & BTREE_ITER_PREFETCH) {
|
||||
if ((flags & BTREE_ITER_PREFETCH) &&
|
||||
c->opts.btree_node_prefetch) {
|
||||
ret = btree_path_prefetch(trans, path);
|
||||
if (ret)
|
||||
goto err;
|
||||
|
@ -458,7 +458,13 @@ enum fsck_err_opts {
|
||||
OPT_UINT(0, BCH_REPLICAS_MAX), \
|
||||
BCH2_NO_SB_OPT, 1, \
|
||||
"n", "Data written to this device will be considered\n"\
|
||||
"to have already been replicated n times")
|
||||
"to have already been replicated n times") \
|
||||
x(btree_node_prefetch, u8, \
|
||||
OPT_FS|OPT_MOUNT|OPT_RUNTIME, \
|
||||
OPT_BOOL(), \
|
||||
BCH2_NO_SB_OPT, true, \
|
||||
NULL, "BTREE_ITER_PREFETCH casuse btree nodes to be\n"\
|
||||
" prefetched sequentially")
|
||||
|
||||
struct bch_opts {
|
||||
#define x(_name, _bits, ...) unsigned _name##_defined:1;
|
||||
|
Loading…
Reference in New Issue
Block a user