From: Andriy Skulysh Date: Wed, 19 Feb 2020 20:06:33 +0000 (+0200) Subject: LU-13991 ldlm: speedup flock reprocess X-Git-Tag: 2.14.51~85 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=dadec10251090ba88c1b39517943e6603ba6d682;p=fs%2Flustre-release.git LU-13991 ldlm: speedup flock reprocess We can check for deadlock only for first conflicting lock, the rest deadlock checks will be performed after cancelation of first conflicting lock. Change-Id: I18359db405ab021a4f32ac833de203254097142d HPE-bug-id: LUS-8509 Signed-off-by: Andriy Skulysh Reviewed-by: Vitaly Fertman Reviewed-by: Alexander Boyko Tested-by: Alexander Lezhoev Reviewed-on: https://review.whamcloud.com/40048 Tested-by: jenkins Reviewed-by: Alexander Boyko Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/ldlm/ldlm_flock.c b/lustre/ldlm/ldlm_flock.c index d5f740f..b76f0f1 100644 --- a/lustre/ldlm/ldlm_flock.c +++ b/lustre/ldlm/ldlm_flock.c @@ -364,13 +364,13 @@ reprocess: continue; if (intention != LDLM_PROCESS_ENQUEUE) { - reprocess_failed = 1; if (ldlm_flock_deadlock(req, lock)) { ldlm_flock_cancel_on_deadlock( req, grant_work); RETURN(LDLM_ITER_CONTINUE); } - continue; + reprocess_failed = 1; + break; } if (*flags & LDLM_FL_BLOCK_NOWAIT) {