From 29897ad340b6be9d5dc185fc6d169d4bf922fb00 Mon Sep 17 00:00:00 2001 From: Chas Williams Date: Mon, 30 May 2005 05:12:17 +0000 Subject: [PATCH] STABLE14-d-reval-fin-20050529 FIXES 18588 last try at fixing d-revalidate (cherry picked from commit c7db062bea6e57242554a3eb8aa32ac0271c45ae) --- src/afs/LINUX/osi_vnodeops.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 762e3f987..943137f3c 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -883,22 +883,15 @@ afs_linux_dentry_revalidate(struct dentry *dp) goto done; } - /* parent's DataVersion changed? */ - if (hgetlo(pvcp->m.DataVersion) > dp->d_time) { - bad_dentry = 11; - goto done; - } - - /* If it's @sys, perhaps it has been changed */ - if (!afs_ENameOK(dp->d_name.name)) { - bad_dentry = 10; - goto done; - } - /* If it's the AFS root no chance it needs revalidating */ if (vcp == afs_globalVp) goto good_dentry; + /* parent's DataVersion changed? */ + if (hgetlo(pvcp->m.DataVersion) > dp->d_time) { + vcp->states &= ~CStatd; /* force afs_VerifyVCache() to go to the server */ + } + /* Get a validated vcache entry */ credp = crref(); code = afs_InitReq(&treq, credp); -- 2.39.5