Whamcloud - gitweb
LU-1602 ldlm: Fix flock deadlock detection race 77/3277/7
authorAndriy Skulysh <Andriy_Skulysh@xyratex.com>
Mon, 21 Jan 2013 21:15:23 +0000 (23:15 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 21 Jun 2013 21:31:30 +0000 (21:31 +0000)
commitbbe7043202fa9750369e7f027f1b96393b49b1dc
tree2f46acfb74874b9f9686c3353147dc8261e8b4cc
parent101f527e687941024311ab42f4c5843421448234
LU-1602 ldlm: Fix flock deadlock detection race

Deadlock isn't detected if 2 threads are trying to
grant 2 locks which deadlock on each other.
They call ldlm_flock_deadlock() simultaneously
and deadlock ins't detected.

The soulition is to add lock to blocking list before
calling ldlm_flock_deadlock()

Xyratex-bug-id: MRP-412
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Reviewed-by: Bruce Korb <bruce_korb@xyratex.com>
Change-Id: I437c8b40a58de14bbac3da39d98d0f03d0f2e064
Reviewed-on: http://review.whamcloud.com/3277
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ldlm/ldlm_flock.c