Would you please review the attached patch and include in the dist?
If fixes a faulty delay experienced by lockd clients just after the grace
period and during the first request to lockd.
diff -ru linux-2.5.41/fs/lockd/svc.c linux-2.5.41-plus-delay-patch/fs/lockd/svc.c
--- linux-2.5.41/fs/lockd/svc.c	Mon Oct  7 11:24:41 2002
+++ linux-2.5.41-plus-delay-patch/fs/lockd/svc.c	Tue Oct  8 11:21:00 2002
@@ -143,8 +143,7 @@
 		 */
 		if (!nlmsvc_grace_period) {
 			timeout = nlmsvc_retry_blocked();
-		} else if (time_before(grace_period_expire, jiffies))
-			clear_grace_period();
+		} 
 
 		/*
 		 * Find a socket with data available and call its
@@ -163,6 +162,21 @@
 		dprintk("lockd: request from %08x\n",
 			(unsigned)ntohl(rqstp->rq_addr.sin_addr.s_addr));
 
+                /* 
+                 * We need to do the clear/grace period here and not before 
+                 * svc_recv() because svc_recv() may sleep longer than the 
+                 * grace period and the first request may be falsely processed
+                 * as if the server was in the grace period when it was not 
+                 * causing unnecessary delays for the first request received.
+                 * Juan C. Gomez j_carlos_gome@yahoo.com
+                 */
+                
+                if (nlmsvc_grace_period 
+                    &&
+                    time_before(grace_period_expire, jiffies)) {
+                       clear_grace_period();
+                }
+                
 		svc_process(serv, rqstp);
 
 	}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/