linux-dentry-revalidate-make-sysname-lists-work-20030924
authorDerrick Brashear <shadow@dementia.org>
Wed, 24 Sep 2003 19:33:36 +0000 (19:33 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 24 Sep 2003 19:33:36 +0000 (19:33 +0000)
pass the unmangled name into afs_lookup in dentry_revalidate if dnlc lookup
fails.

src/afs/LINUX/osi_vnodeops.c

index 3d402fd..0e0ec36 100644 (file)
@@ -926,8 +926,11 @@ afs_linux_dentry_revalidate(struct dentry *dp)
        goto done;
     }
 
-    /* A DNLC lookup failure cannot be trusted. Try a real lookup */
-    code = afs_lookup(parentvcp, name, &lookupvcp, credp);
+    /* A DNLC lookup failure cannot be trusted. Try a real lookup. 
+       Make sure to try the real name and not the @sys expansion; 
+       afs_lookup will expand @sys itself. */
+  
+    code = afs_lookup(parentvcp, dp->d_name.name, &lookupvcp, credp);
 
     /* Verify that the dentry does not point to an old inode */
     if (vcp != lookupvcp)