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>