Remove cache_purgeleafdirs(), it has been #if 0 for quite some time.

This commit is contained in:
Poul-Henning Kamp 2002-02-17 20:40:29 +00:00
parent 76b82a7ffb
commit 362912ebcc

View File

@ -527,66 +527,6 @@ cache_purgevfs(mp)
}
}
#if 0
/*
* Flush all dirctory entries with no child directories held in
* the cache.
*
* Since we need to check it anyway, we will flush all the invalid
* entries at the same time.
*/
void
cache_purgeleafdirs(ndir)
int ndir;
{
struct nchashhead *ncpp;
struct namecache *ncp, *nnp, *ncpc, *nnpc;
struct vnode *dvp;
/* Scan hash tables for applicable entries */
for (ncpp = &nchashtbl[nchash]; ncpp >= nchashtbl && ndir > 0; ncpp--) {
for (ncp = LIST_FIRST(ncpp); ncp != 0 && ndir > 0; ncp = nnp) {
nnp = LIST_NEXT(ncp, nc_hash);
if (ncp->nc_dvp != 0) {
/*
* Skip over if nc_dvp of this cache holds
* a child directory, or the hold count of
* nc_dvp is greater than 1 (in which case
* nc_dvp is likely to be the working
* directory of a process).
*/
if (ncp->nc_dvp->v_holdcnt > 1)
continue;
for (ncpc = LIST_FIRST(&ncp->nc_dvp->v_cache_src);
ncpc != 0; ncpc = nnpc) {
nnpc = LIST_NEXT(ncpc, nc_src);
if (ncpc->nc_vp != 0 && ncpc->nc_vp->v_type == VDIR)
break;
}
if (ncpc == 0) {
/*
* Zap all of this directory's children,
* held in ncp->nc_dvp->v_cache_src.
*/
dvp = ncp->nc_dvp;
while (!LIST_EMPTY(&dvp->v_cache_src))
cache_zap(LIST_FIRST(&dvp->v_cache_src));
ndir--;
/* Restart in case where nnp is reclaimed. */
nnp = LIST_FIRST(ncpp);
continue;
}
}
}
}
numcachepl++;
}
#endif
/*
* Perform canonical checks and cache lookup and pass on to filesystem
* through the vop_cachedlookup only if needed.