aboutsummaryrefslogtreecommitdiff
path: root/fs/nfs/read.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-08-18 22:14:39 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-08-18 22:14:39 -0400
commita3bc068022b968a3042b48eb9a8e8b0418fb9cdd (patch)
tree6bbc2806756924105802f4584157396fb98d282c /fs/nfs/read.c
parent54cfb5aa0f4859bd38706eabe0118175780a542f (diff)
parent91aa9fb573fcc50bc74d5ee64c7e9b36131f1804 (diff)
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'fs/nfs/read.c')
-rw-r--r--fs/nfs/read.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 6f866b8aa2d..6ceb1d471f2 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -140,7 +140,9 @@ static int nfs_readpage_sync(struct nfs_open_context *ctx, struct inode *inode,
if (rdata->res.eof != 0 || result == 0)
break;
} while (count);
- NFS_FLAGS(inode) |= NFS_INO_INVALID_ATIME;
+ spin_lock(&inode->i_lock);
+ NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ATIME;
+ spin_unlock(&inode->i_lock);
if (count)
memclear_highpage_flush(page, rdata->args.pgbase, count);
@@ -473,7 +475,9 @@ void nfs_readpage_result(struct rpc_task *task)
}
task->tk_status = -EIO;
}
- NFS_FLAGS(data->inode) |= NFS_INO_INVALID_ATIME;
+ spin_lock(&data->inode->i_lock);
+ NFS_I(data->inode)->cache_validity |= NFS_INO_INVALID_ATIME;
+ spin_unlock(&data->inode->i_lock);
data->complete(data, status);
}