]> git.michaelhowe.org Git - packages/o/openafs.git/commit
STABLE14-d-revalidate-redux-20050508
authorChas Williams <chas@cmf.nrl.navy.mil>
Mon, 23 May 2005 22:09:45 +0000 (22:09 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 23 May 2005 22:09:45 +0000 (22:09 +0000)
commit9904add87f891956782ff3bc347c4ec88983c276
treef36efccc37fe6ab74c98c7ffb2ba873aaeb36e2e
parent89684df56bdcb4dad6c9e0e33adc45ab6d1350c6
STABLE14-d-revalidate-redux-20050508

FIXES 18588

when the callback for a directory is broken the children of this vnode
are not invalidated as well. so VerifyVCache() always believes these
vnodes to be up to date since they will still have the CStatd flag.

perhaps breaking the callback on a directory should also clear CStatd
on children vnodes?

this isnt a problem for other operating system which go through the
dnlc which does purge the children entries for the vnode in question
during ClearCallBack().

since d_revalidate now avoids the dnlc (and afs_lookup) the following
patch tracks the parent vnode's DataVersion (just the lower half really
but this should be sufficient) in d_time. if the parent has changed
then the dentry is flagged as neededing updated.

(cherry picked from commit f6883dfbbcbe14f65c2b9e44f2841392050e755f)
src/afs/LINUX/osi_vnodeops.c