Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Aug 2010 19:41:43 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r210889 - stable/7/sys/nfsclient
Message-ID:  <201008051941.o75JfhhF086476@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Aug  5 19:41:43 2010
New Revision: 210889
URL: http://svn.freebsd.org/changeset/base/210889

Log:
  MFC 210136:
  Retire the NFS access cache timestamp structure.  It was used in VOP_OPEN()
  to avoid sending multiple ACCESS/GETATTR RPCs during a single open()
  between VOP_LOOKUP() and VOP_OPEN().  Now we always send the RPC in
  VOP_LOOKUP() and not VOP_OPEN() in the cases that multiple RPCs could be
  sent.
  
  To preserve the ABI I have left the structure in place, but renamed it
  to 'n_unused' and just removed the code that updates it.

Modified:
  stable/7/sys/nfsclient/nfs_subs.c
  stable/7/sys/nfsclient/nfsnode.h
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/nfsclient/nfs_subs.c
==============================================================================
--- stable/7/sys/nfsclient/nfs_subs.c	Thu Aug  5 19:40:48 2010	(r210888)
+++ stable/7/sys/nfsclient/nfs_subs.c	Thu Aug  5 19:41:43 2010	(r210889)
@@ -559,7 +559,6 @@ nfs_loadattrcache(struct vnode **vpp, st
 	u_short vmode;
 	struct timespec mtime, mtime_save;
 	int v3 = NFS_ISV3(vp);
-	struct thread *td = curthread;
 
 	md = *mdp;
 	t1 = (mtod(md, caddr_t) + md->m_len) - *dposp;
@@ -660,14 +659,6 @@ nfs_loadattrcache(struct vnode **vpp, st
 		vap->va_filerev = 0;
 	}
 	np->n_attrstamp = time_second;
-	/* Timestamp the NFS otw getattr fetch */
-	if (td->td_proc) {
-		np->n_ac_ts_tid = td->td_tid;
-		np->n_ac_ts_pid = td->td_proc->p_pid;
-		np->n_ac_ts_syscalls = td->td_syscalls;
-	} else
-		bzero(&np->n_ac_ts, sizeof(struct nfs_attrcache_timestamp));
-	
 	if (vap->va_size != np->n_size) {
 		if (vap->va_type == VREG) {
 			if (dontshrink && vap->va_size < np->n_size) {

Modified: stable/7/sys/nfsclient/nfsnode.h
==============================================================================
--- stable/7/sys/nfsclient/nfsnode.h	Thu Aug  5 19:40:48 2010	(r210888)
+++ stable/7/sys/nfsclient/nfsnode.h	Thu Aug  5 19:41:43 2010	(r210889)
@@ -74,10 +74,6 @@ struct nfsdmap {
 #define ndm_cookies	ndm_un1.ndmu3_cookies
 #define ndm4_cookies	ndm_un1.ndmu4_cookies
 
-#define n_ac_ts_tid		n_ac_ts.nfs_ac_ts_tid
-#define n_ac_ts_pid		n_ac_ts.nfs_ac_ts_pid
-#define n_ac_ts_syscalls	n_ac_ts.nfs_ac_ts_syscalls
-
 struct nfs_attrcache_timestamp {
 	lwpid_t		nfs_ac_ts_tid;
 	pid_t		nfs_ac_ts_pid;
@@ -138,7 +134,7 @@ struct nfsnode {
 	uint32_t		n_namelen;
 	int			n_directio_opens;
 	int                     n_directio_asyncwr;
-	struct nfs_attrcache_timestamp n_ac_ts;
+	struct nfs_attrcache_timestamp n_unused;
 };
 
 #define n_atim		n_un1.nf_atim



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