Whamcloud - gitweb
LU-14522 ldlm: reprocess locks if enqueue failed 31/42031/7
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sun, 14 Mar 2021 04:29:11 +0000 (07:29 +0300)
committerOleg Drokin <green@whamcloud.com>
Tue, 6 Apr 2021 03:02:51 +0000 (03:02 +0000)
commit9cc7128b9b2bf444657dac6765decf9fb56aee8d
tree9885f56dcff1d269f51b2129fc081560daf3ece6
parent1d3c585194a907addbe8be7a884cc28d51db4b48
LU-14522 ldlm: reprocess locks if enqueue failed

if the export got disconnected during enqueue, ldlm_handle_enqueue0()
drops the lock, but can skip reprocessing and this way all subsequent
waiting locks conflicting with the dopped one may get stuck.

with the patch most of racers succeed, otherwise 1/4 of runs get stuck

Fixes: 37932c4beb ("LU-10175 ldlm: IBITS lock convert instead of cancel")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I584b0de2656840da5dfa86a894fe02f138e1389d
Reviewed-on: https://review.whamcloud.com/42031
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/ldlm/ldlm_lockd.c