From: Andriy Skulysh Date: Wed, 11 Apr 2012 11:55:28 +0000 (+0300) Subject: LU-1306 ldlm: LBUG at ldlm_lock.c:213 X-Git-Tag: 2.2.52~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=33a16800adc286866c37e260f61c19342b350315;p=fs%2Flustre-release.git 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 --- 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; }