[PATCH 28/39] staging/lustre/ldlm: ldlm_flock_deadlock() ASSERTION( req != lock ) failed

From: Peng Tao
Date: Thu Nov 14 2013 - 11:41:28 EST


From: Andriy Skulysh <Andriy_Skulysh@xxxxxxxxxxx>

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@xxxxxxxxxxx>
Reviewed-by: Keith Mannthey <keith.mannthey@xxxxxxxxx>
Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
Signed-off-by: Peng Tao <bergwolf@xxxxxxxxx>
Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/