From beab842dd845040130e23a5bc9c57d8777ca5bd7 Mon Sep 17 00:00:00 2001 From: Andriy Skulysh Date: Wed, 11 Apr 2012 14:55:28 +0300 Subject: [PATCH] LU-1306 ldlm: LBUG at ldlm_lock.c:213 Protect l_flags with locking to prevent race on signal reception. Xyratex-bug-id: MRP-420 Signed-off-by: Andriy Skulysh Reviewed-by: Vitaly Fertman Reviewed-by: Iurii Golovach Change-Id: I98ba5e6e7a287090f6bd2a270c89a7671875bb9a Reviewed-on: http://review.whamcloud.com/2727 Reviewed-by: Iurii Golovach Reviewed-by: Cory Spitz Tested-by: Hudson Tested-by: Maloo Reviewed-by: Andreas Dilger --- lustre/ldlm/ldlm_flock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lustre/ldlm/ldlm_flock.c b/lustre/ldlm/ldlm_flock.c index 648b7ba..34e8bab 100644 --- a/lustre/ldlm/ldlm_flock.c +++ b/lustre/ldlm/ldlm_flock.c @@ -484,7 +484,9 @@ ldlm_flock_interrupted_wait(void *data) spin_unlock(&ldlm_flock_waitq_lock); /* client side - set flag to prevent lock from being put on lru list */ + lock_res_and_lock(lock); lock->l_flags |= LDLM_FL_CBPENDING; + unlock_res_and_lock(lock); EXIT; } -- 1.8.3.1