]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
macos: don't attempt finalize fixup on root vnode
authorDerrick Brashear <shadow@dementia.org>
Tue, 26 Jul 2011 04:52:18 +0000 (00:52 -0400)
committerDerrick Brashear <shadow@dementia.org>
Tue, 26 Jul 2011 14:36:01 +0000 (07:36 -0700)
because of how the root fid is created we can end up being dumb.
turns out we never want to bypass doing the full pass for root anyway
so just force fixup to not happen.

Reviewed-on: http://gerrit.openafs.org/5095
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit f8ff2591f73401e6d9b6def7630f428569e2f3a6)

Change-Id: I2196196d7373400f2d7f6d0654047273157df1ee
Reviewed-on: http://gerrit.openafs.org/5097
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/DARWIN/osi_vnodeops.c

index 8dc8b85ef910d1c7f265363ad35990af1e5cc68d..e16505a0bf09d78eec94188891372835d55df53d 100644 (file)
@@ -2164,8 +2164,8 @@ afs_darwin_finalizevnode(struct vcache *avc, struct vnode *dvp,
     ovp = AFSTOV(avc);
 
     /* if the type changed, we still need to do a fixup, for bulkstat */
-    if (vnode_vtype(ovp) == avc->f.m.Type && !(avc->f.states & CDeadVnode)
-       && vnode_vtype(ovp) != VNON)
+    if (!isroot && (vnode_vtype(ovp) == avc->f.m.Type &&
+                   !(avc->f.states & CDeadVnode) && vnode_vtype(ovp) != VNON)
     {
        AFS_GUNLOCK();
 #if 0 /* unsupported */