--- src/sys/kern/vfs_syscalls.c 2007/07/19 01:16:39 1.118 +++ src/sys/kern/vfs_syscalls.c 2007/09/10 15:11:55 1.118.2.1 @@ -2072,13 +2072,14 @@ retry: * entry. This 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); vp = NULL; goto retry; } + return(error); } } vput(vp); @@ -2126,14 +2127,14 @@ again: * 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); }