Whamcloud - gitweb
LU-14522 ldlm: reprocess locks if enqueue failed
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sun, 14 Mar 2021 04:29:11 +0000 (07:29 +0300)
committerLi Xi <lixi@ddn.com>
Wed, 28 Apr 2021 13:43:51 +0000 (13:43 +0000)
commit7753b409ba2d9bc3759dcc0f8fe4058d80b00414
tree9d38f3ac85813e5aaaf0da255f466f73a0f5435e
parentd59f9360c6af6523cdb8753f9c0aa515b7bb547a
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

Lustre-commit: 9cc7128b9b2bf444657dac6765decf9fb56aee8d
Lustre-change: https://review.whamcloud.com/42031

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