afs_InitFakeStat(&fakestate);
AFS_DISCON_LOCK();
-
- /*printf("Looking up %s\n", aname);*/
if ((code = afs_InitReq(&treq, acred)))
goto done;
if (tvc) {
if (no_read_access && vType(tvc) != VDIR && vType(tvc) != VLNK) {
/* need read access on dir to stat non-directory / non-link */
+#ifndef AFS_FBSD80_ENV
afs_PutVCache(tvc);
+#endif
*avcp = NULL;
code = EACCES;
goto done;
/* if the vcache isn't usable, release it */
if (tvc && !(tvc->states & CStatd)) {
- afs_PutVCache(tvc);
+#ifndef AFS_FBSD80_ENV
+ afs_PutVCache(tvc);
+#endif
tvc = NULL;
}
} else {
ReleaseWriteLock(&tvc->lock);
if (code) {
+#ifndef AFS_FBSD80_ENV
afs_PutVCache(tvc);
+#endif
if (tvolp)
afs_PutVolume(tvolp, WRITE_LOCK);
goto done;
} else {
tvc = afs_GetVCache(tvc->mvid, &treq, NULL, NULL);
}
+#ifndef AFS_FBSD80_ENV
afs_PutVCache(uvc); /* we're done with it */
+#endif
if (!tvc) {
code = ENOENT;
afs_PutVolume(tvolp, WRITE_LOCK);
}
} else {
+#ifndef AFS_FBSD80_ENV
afs_PutVCache(tvc);
+#endif
code = ENOENT;
if (tvolp)
afs_PutVolume(tvolp, WRITE_LOCK);