Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Feb 2009 22:10:39 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r188831 - head/sys/nfsclient
Message-ID:  <200902192210.n1JMAddn009074@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Feb 19 22:10:39 2009
New Revision: 188831
URL: http://svn.freebsd.org/changeset/base/188831

Log:
  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

Modified:
  head/sys/nfsclient/nfs_vnops.c

Modified: head/sys/nfsclient/nfs_vnops.c
==============================================================================
--- head/sys/nfsclient/nfs_vnops.c	Thu Feb 19 21:29:30 2009	(r188830)
+++ head/sys/nfsclient/nfs_vnops.c	Thu Feb 19 22:10:39 2009	(r188831)
@@ -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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902192210.n1JMAddn009074>