Update cache flushing behavior in light of recent namecache and

access cache improvements:

- Flush just access control state on CODA_PURGEUSER, not the full
  namecache for /coda.

- When replacing a fid on a cnode as a result of, e.g.,
  reintegration after offline operation, we no longer need to
  purge the namecache entries associated with its vnode.

MFC after:	1 month
This commit is contained in:
Robert Watson 2008-02-13 19:50:17 +00:00
parent df77ed7558
commit 89d1d7886a

View File

@ -478,12 +478,6 @@ handleDownCall(struct coda_mntinfo *mnt, int opcode, union outputArgs *out)
coda_acccache_purgeuser(mnt->mi_vfsp,
out->coda_purgeuser.uid);
#endif
/*
* For now, we flush the entire namecache, but this is
* undesirable. Once we have an access control cache, we
* should just flush that instead.
*/
cache_purgevfs(mnt->mi_vfsp);
return (0);
}
@ -570,7 +564,6 @@ handleDownCall(struct coda_mntinfo *mnt, int opcode, union outputArgs *out)
* fid, and reinsert.
*/
vref(CTOV(cp));
cache_purge(CTOV(cp));
coda_unsave(cp);
cp->c_fid = out->coda_replace.NewFid;
coda_save(cp);