Whamcloud - gitweb
b=15776
authorgreen <green>
Tue, 20 May 2008 19:49:12 +0000 (19:49 +0000)
committergreen <green>
Tue, 20 May 2008 19:49:12 +0000 (19:49 +0000)
r=shadow,vitaly

Prevent locks stalls on glimpse races

lustre/ChangeLog
lustre/ldlm/ldlm_lockd.c

index 8b19783..2e13f41 100644 (file)
@@ -777,6 +777,14 @@ Details    : With this patch, three improvements are included:
             2. display the inaccurate data in the output of "lfs quota".
             3. try to get quota info when "lfs quota" is executed.
 
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 15776
+Description: Extent locks not granted with no conflicts sometimes.
+Details    : When race occurs in glimpse handler and nothing is returned,
+             we do not reprocess the queue after lock cancel, and that leads
+            to a stall until next activity on a resource
+
 --------------------------------------------------------------------------------
 
 2007-12-07         Cluster File Systems, Inc. <info@clusterfs.com>
index 4a73270..8e35693 100644 (file)
@@ -802,6 +802,9 @@ int ldlm_server_glimpse_ast(struct ldlm_lock *lock, void *data)
                 rc = ldlm_res_lvbo_update(res, req->rq_repmsg,
                                           REPLY_REC_OFF, 1);
         ptlrpc_req_finished(req);
+        if (rc == -ERESTART)
+                ldlm_reprocess_all(res);
+
         RETURN(rc);
 }