revert-linux-use-d-prune-aliases-instead-of-try-dcache-children-20020725
authorChas Williams <chas@cmf.nrl.navy.mil>
Thu, 25 Jul 2002 21:45:10 +0000 (21:45 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 25 Jul 2002 21:45:10 +0000 (21:45 +0000)
not currently safe on smp kernel uniprocessor systems for some reason. revert.
also fix unlock/dget ordering to be consistent

src/afs/afs_vcache.c

index 10be5a0..002c17d 100644 (file)
@@ -481,10 +481,9 @@ static void afs_TryFlushDcacheChildren(struct vcache *tvc)
     struct list_head *head = &ip->i_dentry;
     struct dentry *dentry;
     
-#if 1
     afs_Trace1(afs_iclSetp, CM_TRACE_TRYFLUSHDCACHECHILDREN,
               ICL_TYPE_POINTER, ip);
-
+#if 0
     VN_HOLD(tvc);
     AFS_GUNLOCK();
     d_prune_aliases(ip);
@@ -507,8 +506,8 @@ restart:
                
                next = tmp->next;
                if (!DCOUNT(dchld) && !dchld->d_inode) {
-                   DGET(dchld);
                    AFS_GUNLOCK();
+                   DGET(dchld);
                    DUNLOCK();
                    d_drop(dchld);
                    dput(dchld);