]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-remunlink-needs-iocount-20060302
authorChaskiel M Grundman <cg2v@andrew.cmu.edu>
Thu, 2 Mar 2006 06:30:33 +0000 (06:30 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 2 Mar 2006 06:30:33 +0000 (06:30 +0000)
FIXES 27493

keep needed iocount for remunlink on darwin 8.0

(cherry picked from commit 10f8d509df3a69e6dc684cfd81b5809adc5c9b09)

src/afs/VNOPS/afs_vnop_remove.c

index dfb7d32d50eaed48542aefffa07bd8c0d4244aeb..1f46df6d75c575cd9e44989bfa8fefbc8fdc550b 100644 (file)
@@ -438,6 +438,12 @@ afs_remunlink(register struct vcache *avc, register int doit)
 
     if (NBObtainWriteLock(&avc->lock, 423))
        return 0;
+#if defined(AFS_DARWIN80_ENV)
+    if (vnode_get(AFSTOV(avc))) {
+       ReleaseWriteLock(&avc->lock);
+       return 0;
+    }
+#endif
 
     if (avc->mvid && (doit || (avc->states & CUnlinkedDel))) {
        if ((code = afs_InitReq(&treq, avc->uncred))) {
@@ -487,6 +493,9 @@ afs_remunlink(register struct vcache *avc, register int doit)
            crfree(cred);
        }
     } else {
+#if defined(AFS_DARWIN80_ENV)
+       vnode_put(AFSTOV(avc));
+#endif
        ReleaseWriteLock(&avc->lock);
     }