Whamcloud - gitweb
LU-15562 statahead: using try lock for batched RPCs
To avoid the possible deadlock between the batched statahead RPC
and rename()/migrate() operation, we use trylock to obtain the DLM
PR ibits lock for file attributes in a batched statahead RPC.
A failed trylock means that other users maybe modify the directory
simultaneously as the server only grants read lock to a client in
current Lustre design which is compatible with the PR lock for
attributes in stat()-ahead.
When a trylock failed, the MDT reports the conflict with the error
code -EBUSY, and the client stops the statahead immediately.
In this patch, we set "statahead_batch_max" with 64 to enable
batched statahead by default.
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: I38394b1547e18ad156f94e49cd81aaef2f6fafb5
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/46549
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>