From: Andriy Skulysh Date: Tue, 20 Aug 2013 12:23:46 +0000 (+0300) Subject: LU-3783 ldlm: ldlm_flock_deadlock() ASSERTION( req != lock ) failed X-Git-Tag: 2.4.92~42 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=db36e82c24395d65ce6b17f13688407a6392e707 LU-3783 ldlm: ldlm_flock_deadlock() ASSERTION( req != lock ) failed Abort processing of flock blockers list on reaching disconnected export Change-Id: I8763dd246ef655fee6f926e49b00a7a54c720386 Xyratex-bug-id: MRP-1266 Signed-off-by: Andriy Skulysh Reviewed-on: http://review.whamcloud.com/7392 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Keith Mannthey Reviewed-by: Oleg Drokin --- diff --git a/lustre/ldlm/ldlm_flock.c b/lustre/ldlm/ldlm_flock.c index 2f6e357..6273b72 100644 --- a/lustre/ldlm/ldlm_flock.c +++ b/lustre/ldlm/ldlm_flock.c @@ -203,6 +203,9 @@ ldlm_flock_deadlock(struct ldlm_lock *req, struct ldlm_lock *bl_lock) cfs_hash_put(bl_exp->exp_flock_hash, &lock->l_exp_flock_hash); bl_exp = bl_exp_new; + if (bl_exp->exp_failed) + break; + if (bl_owner == req_owner && bl_exp == req_exp) { class_export_put(bl_exp); return 1;