From: Erik J. Burckart Date: Mon, 23 Apr 2001 04:25:29 +0000 (+0000) Subject: STABLE10-fix-for-cache-consistency-on-linux-24-smp-systems-20010315 X-Git-Tag: openafs-stable-1_0_4~98 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=849b350a6eb21ffe9f60fa97722b25c95bad77f6;p=packages%2Fo%2Fopenafs.git STABLE10-fix-for-cache-consistency-on-linux-24-smp-systems-20010315 obsolete but pulled in so everything applies cleanly CS: ---------------------------------------------------------------------- (cherry picked from commit 4b85432743e002eae3e636febadb326c2081732d) --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 960d54c36..f6d680fa4 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -628,6 +628,16 @@ static int afs_linux_revalidate(struct dentry *dp) return 0; } + /* Drop the dentry if the callback is broken */ + if (!(vcp->states & CStatd)) { + d_drop(dp); +#ifdef AFS_LINUX24_ENV + unlock_kernel(); +#endif + AFS_GUNLOCK(); + return 0; + } + /* Make this a fast path (no crref), since it's called so often. */ if (vcp->states & CStatd) { if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */