Whamcloud - gitweb
b=17760 Separate locking for obd bitfield and recovery
[fs/lustre-release.git] / lustre / obdfilter / lproc_obdfilter.c
index 99bc28c..b13fa91 100644 (file)
@@ -288,9 +288,9 @@ static int lprocfs_filter_wr_cache(struct file *file, const char *buffer,
         if (rc)
                 return rc;
 
-        cfs_spin_lock_bh(&obd->obd_processing_task_lock);
-        obd->u.filter.fo_read_cache = val;
-        cfs_spin_unlock_bh(&obd->obd_processing_task_lock);
+        cfs_spin_lock_bh(&obd->u.filter.fo_flags_lock);
+        obd->u.filter.fo_read_cache = !!val;
+        cfs_spin_unlock_bh(&obd->u.filter.fo_flags_lock);
         return count;
 }
 
@@ -315,9 +315,9 @@ static int lprocfs_filter_wr_wcache(struct file *file, const char *buffer,
         if (rc)
                 return rc;
 
-        cfs_spin_lock_bh(&obd->obd_processing_task_lock);
-        obd->u.filter.fo_writethrough_cache = val;
-        cfs_spin_unlock_bh(&obd->obd_processing_task_lock);
+        cfs_spin_lock(&obd->u.filter.fo_flags_lock);
+        obd->u.filter.fo_writethrough_cache = !!val;
+        cfs_spin_unlock(&obd->u.filter.fo_flags_lock);
         return count;
 }
 
@@ -348,9 +348,9 @@ int lprocfs_filter_wr_degraded(struct file *file, const char *buffer,
         if (rc)
                 return rc;
 
-        cfs_spin_lock(&obd->obd_osfs_lock);
+        cfs_spin_lock(&obd->u.filter.fo_flags_lock);
         obd->u.filter.fo_raid_degraded = !!val;
-        cfs_spin_unlock(&obd->obd_osfs_lock);
+        cfs_spin_unlock(&obd->u.filter.fo_flags_lock);
         return count;
 }