Don't clear the attribute cache of a file when it is closed. A subsequent

open() of the same file will load fresh attributes, so they do not need to
be explicitly flushed in close() to guarantee close to open consistency.
However, other file desciptors may still reference this file and clearing
the attributes in close() forces those other file descriptors to fetch
fresh attributes the next time they need them.

Reviewed by:	mohans
MFC after:	1 week
This commit is contained in:
John Baldwin 2009-02-19 22:10:39 +00:00
parent 1cf0b25f91
commit 3e057a2477
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=188831

View File

@ -594,13 +594,6 @@ nfs_close(struct vop_close_args *ap)
error = nfs_vinvalbuf(vp, V_SAVE, ap->a_td, 1);
mtx_lock(&np->n_mtx);
}
/*
* Invalidate the attribute cache in all cases.
* An open is going to fetch fresh attrs any way, other procs
* on this node that have file open will be forced to do an
* otw attr fetch, but this is safe.
*/
np->n_attrstamp = 0;
if (np->n_flag & NWRITEERR) {
np->n_flag &= ~NWRITEERR;
error = np->n_error;