URGENT: [diagnostic] cache_lock: blocked on 0xda5265a8 ""

Matthew Dillon dillon at apollo.backplane.com
Wed Aug 29 21:45:51 PDT 2007


::
::Please let me know whats happening. its pretty urgent, as it has just
::happened again.
::
::petr
    
    Well.  How interesting.  I think I found it.  It looks like the NFS
    mount point vnode is becoming stale.  It wasn't releasing the vnode
    before attempting to re-resolve the node.

    Please try this patch and tell me if it works.  How many days does it
    usually take for it to hit the bug?

						-Matt


Index: kern/vfs_syscalls.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_syscalls.c,v
retrieving revision 1.112.2.1
diff -u -p -r1.112.2.1 vfs_syscalls.c
--- kern/vfs_syscalls.c	26 Jan 2007 18:55:31 -0000	1.112.2.1
+++ kern/vfs_syscalls.c	30 Aug 2007 04:40:51 -0000
@@ -2117,14 +2117,14 @@ 	 * If the file handle is stale we have 
 	 * is a hack at the moment.
 	 */
 	if (error == ESTALE) {
+		vput(vp);
 		cache_setunresolved(&nd->nl_nch);
 		error = cache_resolve(&nd->nl_nch, nd->nl_cred);
-		if (error == 0) {
-			vput(vp);
+		if (error == 0)
 			goto again;
-		}
+	} else {
+		vput(vp);
 	}
-	vput(vp);
 	return (error);
 }
 





More information about the Kernel mailing list