From 33a16800adc286866c37e260f61c19342b350315 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: Ifbf9e668bfeba30c9f9f206086186ad7d499a871 Reviewed-on: http://review.whamcloud.com/2511 Tested-by: Hudson Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- 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 2a06ede..75a0bbd 100644 --- a/lustre/ldlm/ldlm_flock.c +++ b/lustre/ldlm/ldlm_flock.c @@ -535,7 +535,9 @@ ldlm_flock_interrupted_wait(void *data) ldlm_flock_blocking_unlink(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