diff options
| author | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
|---|---|---|
| committer | Tony Luck <tony.luck@intel.com> | 2005-10-20 13:41:44 -0400 |
| commit | 9cec58dc138d6fcad9f447a19c8ff69f6540e667 (patch) | |
| tree | 4fe1cca94fdba8b705c87615bee06d3346f687ce /fs/nfs/inode.c | |
| parent | 17e5ad6c0ce5a970e2830d0de8bdd60a2f077d38 (diff) | |
| parent | ac9b9c667c2e1194e22ebe0a441ae1c37aaa9b90 (diff) | |
Update from upstream with manual merge of Yasunori Goto's
changes to swiotlb.c made in commit 281dd25cdc0d6903929b79183816d151ea626341
since this file has been moved from arch/ia64/lib/swiotlb.c to
lib/swiotlb.c
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'fs/nfs/inode.c')
| -rw-r--r-- | fs/nfs/inode.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 6922469d6fc5..d4eadeea128e 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
| @@ -877,12 +877,10 @@ static int nfs_wait_on_inode(struct inode *inode) | |||
| 877 | sigset_t oldmask; | 877 | sigset_t oldmask; |
| 878 | int error; | 878 | int error; |
| 879 | 879 | ||
| 880 | atomic_inc(&inode->i_count); | ||
| 881 | rpc_clnt_sigmask(clnt, &oldmask); | 880 | rpc_clnt_sigmask(clnt, &oldmask); |
| 882 | error = wait_on_bit_lock(&nfsi->flags, NFS_INO_REVALIDATING, | 881 | error = wait_on_bit_lock(&nfsi->flags, NFS_INO_REVALIDATING, |
| 883 | nfs_wait_schedule, TASK_INTERRUPTIBLE); | 882 | nfs_wait_schedule, TASK_INTERRUPTIBLE); |
| 884 | rpc_clnt_sigunmask(clnt, &oldmask); | 883 | rpc_clnt_sigunmask(clnt, &oldmask); |
| 885 | iput(inode); | ||
| 886 | 884 | ||
| 887 | return error; | 885 | return error; |
| 888 | } | 886 | } |
| @@ -1226,10 +1224,6 @@ int nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
| 1226 | loff_t cur_size, new_isize; | 1224 | loff_t cur_size, new_isize; |
| 1227 | int data_unstable; | 1225 | int data_unstable; |
| 1228 | 1226 | ||
| 1229 | /* Do we hold a delegation? */ | ||
| 1230 | if (nfs_have_delegation(inode, FMODE_READ)) | ||
| 1231 | return 0; | ||
| 1232 | |||
| 1233 | spin_lock(&inode->i_lock); | 1227 | spin_lock(&inode->i_lock); |
| 1234 | 1228 | ||
| 1235 | /* Are we in the process of updating data on the server? */ | 1229 | /* Are we in the process of updating data on the server? */ |
| @@ -1350,7 +1344,8 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr, unsign | |||
| 1350 | nfsi->read_cache_jiffies = fattr->timestamp; | 1344 | nfsi->read_cache_jiffies = fattr->timestamp; |
| 1351 | 1345 | ||
| 1352 | /* Are we racing with known updates of the metadata on the server? */ | 1346 | /* Are we racing with known updates of the metadata on the server? */ |
| 1353 | data_unstable = ! nfs_verify_change_attribute(inode, verifier); | 1347 | data_unstable = ! (nfs_verify_change_attribute(inode, verifier) || |
| 1348 | (nfsi->cache_validity & NFS_INO_REVAL_PAGECACHE)); | ||
| 1354 | 1349 | ||
| 1355 | /* Check if our cached file size is stale */ | 1350 | /* Check if our cached file size is stale */ |
| 1356 | new_isize = nfs_size_to_loff_t(fattr->size); | 1351 | new_isize = nfs_size_to_loff_t(fattr->size); |
