From 3e057a24778eb76f74f75bec53a4e46addbf9cbc Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 19 Feb 2009 22:10:39 +0000 Subject: [PATCH] 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 --- sys/nfsclient/nfs_vnops.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 17c156d06ad..54f8be54a00 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -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;