summaryrefslogtreecommitdiff
path: root/fs/nfs/nfs3proc.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-09-29 01:20:07 +0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-10 01:19:06 +0400
commit8850df999cd16aa141098e2e8be04a590276f3cc (patch)
treede5d934bff3ae6595dcfcf6d725dd991bb242f21 /fs/nfs/nfs3proc.c
parentc4812998398d9cbce8646494704c52297359ede0 (diff)
downloadlinux-8850df999cd16aa141098e2e8be04a590276f3cc.tar.xz
NFS: Fix atime revalidation in read()
NFSv3 will correctly update atime on a read() call, so there is no need to set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode() fails. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs3proc.c')
-rw-r--r--fs/nfs/nfs3proc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c
index 0ae263cdedc6..fc6b1193a631 100644
--- a/fs/nfs/nfs3proc.c
+++ b/fs/nfs/nfs3proc.c
@@ -727,9 +727,9 @@ static int nfs3_read_done(struct rpc_task *task, struct nfs_read_data *data)
{
if (nfs3_async_handle_jukebox(task, data->inode))
return -EAGAIN;
- /* Call back common NFS readpage processing */
- if (task->tk_status >= 0)
- nfs_refresh_inode(data->inode, &data->fattr);
+
+ nfs_invalidate_atime(data->inode);
+ nfs_refresh_inode(data->inode, &data->fattr);
return 0;
}