Whamcloud - gitweb
LU-1306 ldlm: LBUG at ldlm_lock.c:213
authorAndriy Skulysh <Andriy_Skulysh@xyratex.com>
Wed, 11 Apr 2012 11:55:28 +0000 (14:55 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 7 May 2012 19:38:02 +0000 (15:38 -0400)
Protect l_flags with locking to prevent race on
signal reception.

Xyratex-bug-id: MRP-420
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Reviewed-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Reviewed-by: Iurii Golovach <iurii_golovach@xyratex.com>
Change-Id: Ifbf9e668bfeba30c9f9f206086186ad7d499a871
Reviewed-on: http://review.whamcloud.com/2511
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/ldlm/ldlm_flock.c

index 2a06ede..75a0bbd 100644 (file)
@@ -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;
 }