Whamcloud - gitweb
LU-2744 build: fix 'data race condition' issues 69/6569/4
authorSebastien Buisson <sebastien.buisson@bull.net>
Thu, 6 Jun 2013 12:36:36 +0000 (14:36 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 10 Jul 2013 03:00:43 +0000 (03:00 +0000)
Fix 'data race condition' defects found by Coverity version
6.5.0:
Data race condition (MISSING_LOCK)
Accessing variable without holding lock. Elsewhere,
this variable is accessed with lock held.

Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: I9c5eac037030f9f2fc49a26aaf2e1a125a2a0993
Reviewed-on: http://review.whamcloud.com/6569
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Hudson
Reviewed-by: Keith Mannthey <keith.mannthey@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_import.h

index 6511c36..acb82fd 100644 (file)
@@ -336,9 +336,11 @@ static inline unsigned int at_timeout2est(unsigned int val)
 }
 
 static inline void at_reset(struct adaptive_timeout *at, int val) {
+       spin_lock(&at->at_lock);
         at->at_current = val;
         at->at_worst_ever = val;
         at->at_worst_time = cfs_time_current_sec();
+       spin_unlock(&at->at_lock);
 }
 static inline void at_init(struct adaptive_timeout *at, int val, int flags) {
        memset(at, 0, sizeof(*at));