patch-2.2.0-pre1 linux/fs/nfs/inode.c

Next file: linux/fs/nfsd/nfsfh.c
Previous file: linux/fs/nfs/dir.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.132/linux/fs/nfs/inode.c linux/fs/nfs/inode.c
@@ -701,12 +701,6 @@
 #endif
 		goto out;
 	}
-	if (fattr.mtime.seconds == NFS_OLDMTIME(inode)) {
-		/* Update attrtimeo value */
-		if ((NFS_ATTRTIMEO(inode) <<= 1) > NFS_MAXATTRTIMEO(inode))
-			NFS_ATTRTIMEO(inode) = NFS_MAXATTRTIMEO(inode);
-	}
-	NFS_OLDMTIME(inode) = fattr.mtime.seconds;
 	dfprintk(PAGECACHE, "NFS: %s/%s revalidation complete\n",
 		dentry->d_parent->d_name.name, dentry->d_name.name);
 out:
@@ -791,6 +785,14 @@
 
 	if (invalid)
 		goto out_invalid;
+
+	/* Update attrtimeo value */
+	if (fattr->mtime.seconds == NFS_OLDMTIME(inode)) {
+		if ((NFS_ATTRTIMEO(inode) <<= 1) > NFS_MAXATTRTIMEO(inode))
+			NFS_ATTRTIMEO(inode) = NFS_MAXATTRTIMEO(inode);
+	}
+	NFS_OLDMTIME(inode) = fattr->mtime.seconds;
+
 out:
 	return error;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov