darwin80-dnlc-dont-return-deadvnodes-20071019
authorDerrick Brashear <shadow@dementia.org>
Fri, 19 Oct 2007 21:37:15 +0000 (21:37 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 19 Oct 2007 21:37:15 +0000 (21:37 +0000)
FIXES 41550

obvious. if we are going to be like GetVCache, we should

src/afs/afs_osidnlc.c

index 218af5e..e01e5a1 100644 (file)
@@ -242,7 +242,12 @@ osi_dnlc_lookup(struct vcache *adp, char *aname, int locktype)
        ReleaseReadLock(&afs_xvcache);
        dnlcstats.misses++;
     } else {
-       if (tvc->states & CVInit) {
+       if ((tvc->states & CVInit)
+#ifdef  AFS_DARWIN80_ENV
+           ||(tvc->states & CDeadVnode)
+#endif
+           )      
+       {
            ReleaseReadLock(&afs_xvcache);
            dnlcstats.misses++;
            osi_dnlc_remove(adp, aname, tvc);