Whamcloud - gitweb
ptlrpc_check_set wrongly uses req->rq_lock for proctect add to
authorshadow <shadow>
Thu, 17 May 2007 05:20:10 +0000 (05:20 +0000)
committershadow <shadow>
Thu, 17 May 2007 05:20:10 +0000 (05:20 +0000)
imp_delayed_list, in this place should be used imp_lock.
b=12477
i=alex
i=eeb

lustre/ChangeLog
lustre/ptlrpc/client.c

index c698c04..a352b94 100644 (file)
@@ -115,6 +115,13 @@ Bugzilla   : 11658
 Description: log_commit_thread vs filter_destroy race leads to crash
 Details    : Take import reference before releasing llog record semaphore
 
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 12477
+Description: Wrong request locking in request set processing
+Details    : ptlrpc_check_set wrongly uses req->rq_lock for proctect add to
+            imp_delayed_list, in this place should be used imp_lock.
+
 --------------------------------------------------------------------------------
 
 2007-05-03  Cluster File Systems, Inc. <info@clusterfs.com>
index 39a77af..b1ba7df 100644 (file)
@@ -872,10 +872,10 @@ int ptlrpc_check_set(struct ptlrpc_request_set *set)
                                 /* Add this req to the delayed list so
                                    it can be errored if the import is
                                    evicted after recovery. */
-                                spin_lock(&req->rq_lock);
+                                spin_lock(&imp->imp_lock);
                                 list_add_tail(&req->rq_list,
                                               &imp->imp_delayed_list);
-                                spin_unlock(&req->rq_lock);
+                                spin_unlock(&imp->imp_lock);
                                 continue;
                         }