From cc05eea7a064a8335513ebde9c9f275dfb9e20c2 Mon Sep 17 00:00:00 2001 From: Chaskiel M Grundman Date: Sat, 24 Dec 2005 00:29:11 +0000 Subject: [PATCH] STABLE14-darwin-dnlc-cache-purge-20051223 FIXES 22644 cache_purge() to hint to darwin that we changed something instead of letting it cache invalid data (cherry picked from commit 518bebb032c410a520a8923a16263e605370d60c) --- src/afs/afs_osidnlc.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/afs/afs_osidnlc.c b/src/afs/afs_osidnlc.c index ab856edad..9ece5a1ec 100644 --- a/src/afs/afs_osidnlc.c +++ b/src/afs/afs_osidnlc.c @@ -367,6 +367,15 @@ osi_dnlc_purgedp(struct vcache *adp) int i; int writelocked; +#ifdef AFS_DARWIN_ENV + if (!(adp->states & (CVInit | CVFlushed +#ifdef AFS_DARWIN80_ENV + | CDeadVnode +#endif + )) && AFSTOV(adp)) + cache_purge(AFSTOV(adp)); +#endif + if (!afs_usednlc) return 0; @@ -397,6 +406,15 @@ osi_dnlc_purgevp(struct vcache *avc) int i; int writelocked; +#ifdef AFS_DARWIN_ENV + if (!(avc->states & (CVInit | CVFlushed +#ifdef AFS_DARWIN80_ENV + | CDeadVnode +#endif + )) && AFSTOV(avc)) + cache_purge(AFSTOV(avc)); +#endif + if (!afs_usednlc) return 0; -- 2.39.5