Whamcloud - gitweb
LU-18504 llite: fix whole-file readahead RPC limit 49/57249/3
authorLi Dongyang <dongyangli@ddn.com>
Tue, 3 Dec 2024 04:46:45 +0000 (15:46 +1100)
committerOleg Drokin <green@whamcloud.com>
Thu, 2 Jan 2025 20:50:58 +0000 (20:50 +0000)
commit5868ad233e5748d561a22ffdb31fc6c76af174e2
tree313baf3c48cdec4c92f13bfeaac99fa12a7712e0
parenta173c24d5aba7b3a5b5d53d29f7b3a636e469f91
LU-18504 llite: fix whole-file readahead RPC limit

We try to increase whole-file readahead to match RPC size,
by using the connect data from sbi->ll_dt_exp.
But that's not the right location, the lov layer
could not touch/change the ocd_brw_size in connect data,
it stays 64M as the largest possible RPC size,
which could be too large for whole-file readahead.

Introduce a new key KEY_MAX_PAGES_PER_RPC in lov_get_info,
to iterate every osc obd to get max pages per rpc replied
from OST.

After obd_connect in client_common_fill_super, there
are chances that the connect rpc reply hasn't been
processed so the optimal ocd_brw_size replied from server
hasn't been updated yet, delay checking max pages per
rpc to give us a better chance to get the replies from OST.

Bump up SBI_DEFAULT_READAHEAD_WHOLE_MAX to 4M, which is
the same to DT_DEF_BRW_SIZE from osd for now.

Fixes: 627d0133d9 ("LU-7990 llite: increase whole-file readahead to RPC size")
Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: I172bf81ac803971d5f0d50fe00ae4fdfb0d26485
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57249
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd.h
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/lov/lov_obd.c