diff -u --recursive --new-file linux-2.4.5-cto/fs/nfs/inode.c linux-2.4.5-atime/fs/nfs/inode.c --- linux-2.4.5-cto/fs/nfs/inode.c Wed May 23 14:55:50 2001 +++ linux-2.4.5-atime/fs/nfs/inode.c Wed May 23 14:58:26 2001 @@ -100,6 +100,8 @@ inode->i_blksize = inode->i_sb->s_blocksize; inode->i_mode = 0; inode->i_rdev = 0; + /* We can't support UPDATE_ATIME(), since the server will reset it */ + inode->i_flags |= S_NOATIME; NFS_FILEID(inode) = 0; NFS_FSID(inode) = 0; NFS_FLAGS(inode) = 0; @@ -983,12 +985,9 @@ NFS_CACHE_CTIME(inode) = fattr->ctime; inode->i_ctime = nfs_time_to_secs(fattr->ctime); - /* If we've been messing around with atime, don't - * update it. Save the server value in NFS_CACHE_ATIME. - */ + NFS_CACHE_ATIME(inode) = fattr->atime; - if (time_before(inode->i_atime, nfs_time_to_secs(fattr->atime))) - inode->i_atime = nfs_time_to_secs(fattr->atime); + inode->i_atime = nfs_time_to_secs(fattr->atime); NFS_CACHE_MTIME(inode) = new_mtime; inode->i_mtime = nfs_time_to_secs(new_mtime);