Whamcloud - gitweb
LU-13989 ldlm: BL AST vs failed lock enqueue race 46/40046/3
authorAndriy Skulysh <c17819@cray.com>
Tue, 11 Feb 2020 12:00:18 +0000 (14:00 +0200)
committerOleg Drokin <green@whamcloud.com>
Tue, 3 Nov 2020 03:40:22 +0000 (03:40 +0000)
commitc1be044913dde3b935e23ac8396eb2ba434e2538
tree8441e52c280badcf2bc4669153836a99a28656d2
parent4103527c1c9b38cb60c95a8f0ace2da1d246c3fc
LU-13989 ldlm: BL AST vs failed lock enqueue race

failed_lock_cleanup() marks the lock with LDLM_FL_LOCAL_ONLY,
so cancel request isn't sent.

Mark failed lock with LDLM_FL_LOCAL_ONLY only
if BL AST wasn't received.
Add server's lock handle to BL AST RPC.
So client will be able to cancel the lock
even if enqueue fails.

Change-Id: I3201bc29abd877cddc334ca27a9d208cb55c5d8f
HPE-bug-id: LUS-8493, LUS-8830
Signed-off-by: Andriy Skulysh <c17819@cray.com>
Reviewed-by: Vladimir Saveliev <c17830@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Reviewed-on: https://review.whamcloud.com/40046
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_request.c