Messages in this thread Patch in this message | | | From | Peng Tao <> | Subject | [PATCH 28/39] staging/lustre/ldlm: ldlm_flock_deadlock() ASSERTION( req != lock ) failed | Date | Fri, 15 Nov 2013 00:32:51 +0800 |
| |
From: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Abort processing of flock blockers list on reaching disconnected export
Lustre-change: http://review.whamcloud.com/7392 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3783 Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com> Reviewed-by: Keith Mannthey <keith.mannthey@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Peng Tao <bergwolf@gmail.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> --- drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c index 6324eff..d4598b6 100644 --- a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c @@ -195,6 +195,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; -- 1.7.9.5
| |