From: Chas Williams <3chas3@gmail.com> Date: Thu, 24 Dec 2015 22:58:32 +0000 (-0500) Subject: LINUX: don't cache negative entries for dynroot X-Git-Tag: upstream/1.8.0_pre1^2~174 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=baa037a14f167b87a83762904eb52efc96baf3f9;p=packages%2Fo%2Fopenafs.git LINUX: don't cache negative entries for dynroot The dynroot volume lacks any callbacks that would invalidate the directory or change the data version. Further, the data version for the dynroot is only updated for when a new cell is found or added (a positive lookup). Change-Id: If0b022933de7335d3d94aafc77c50b85b99f4116 Reviewed-on: http://gerrit.openafs.org/12140 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot --- diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 6b49b5e97..6c3a811d4 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -1314,7 +1314,8 @@ afs_linux_dentry_revalidate(struct dentry *dp, int flags) pvcp = VTOAFS(parent->d_inode); parent_dv = parent_vcache_dv(parent->d_inode, credp, locked); - if (parent_dv > dp->d_time || !(pvcp->f.states & CStatd)) { + if (parent_dv > dp->d_time || !(pvcp->f.states & CStatd) + || afs_IsDynroot(pvcp)) { dput(parent); goto bad_dentry; }