diff options
Diffstat (limited to 'fs/nfs/inode.c')
| -rw-r--r-- | fs/nfs/inode.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index d22eb383e1cf..0c381686171e 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
| @@ -592,7 +592,7 @@ static void nfs_file_set_open_context(struct file *filp, struct nfs_open_context | |||
| 592 | /* | 592 | /* |
| 593 | * Given an inode, search for an open context with the desired characteristics | 593 | * Given an inode, search for an open context with the desired characteristics |
| 594 | */ | 594 | */ |
| 595 | struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, int mode) | 595 | struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode) |
| 596 | { | 596 | { |
| 597 | struct nfs_inode *nfsi = NFS_I(inode); | 597 | struct nfs_inode *nfsi = NFS_I(inode); |
| 598 | struct nfs_open_context *pos, *ctx = NULL; | 598 | struct nfs_open_context *pos, *ctx = NULL; |
| @@ -712,14 +712,7 @@ int nfs_attribute_timeout(struct inode *inode) | |||
| 712 | 712 | ||
| 713 | if (nfs_have_delegation(inode, FMODE_READ)) | 713 | if (nfs_have_delegation(inode, FMODE_READ)) |
| 714 | return 0; | 714 | return 0; |
| 715 | /* | 715 | return !time_in_range_open(jiffies, nfsi->read_cache_jiffies, nfsi->read_cache_jiffies + nfsi->attrtimeo); |
| 716 | * Special case: if the attribute timeout is set to 0, then always | ||
| 717 | * treat the cache as having expired (unless holding | ||
| 718 | * a delegation). | ||
| 719 | */ | ||
| 720 | if (nfsi->attrtimeo == 0) | ||
| 721 | return 1; | ||
| 722 | return !time_in_range(jiffies, nfsi->read_cache_jiffies, nfsi->read_cache_jiffies + nfsi->attrtimeo); | ||
| 723 | } | 716 | } |
| 724 | 717 | ||
| 725 | /** | 718 | /** |
| @@ -1182,7 +1175,7 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
| 1182 | nfsi->attrtimeo_timestamp = now; | 1175 | nfsi->attrtimeo_timestamp = now; |
| 1183 | nfsi->attr_gencount = nfs_inc_attr_generation_counter(); | 1176 | nfsi->attr_gencount = nfs_inc_attr_generation_counter(); |
| 1184 | } else { | 1177 | } else { |
| 1185 | if (!time_in_range(now, nfsi->attrtimeo_timestamp, nfsi->attrtimeo_timestamp + nfsi->attrtimeo)) { | 1178 | if (!time_in_range_open(now, nfsi->attrtimeo_timestamp, nfsi->attrtimeo_timestamp + nfsi->attrtimeo)) { |
| 1186 | if ((nfsi->attrtimeo <<= 1) > NFS_MAXATTRTIMEO(inode)) | 1179 | if ((nfsi->attrtimeo <<= 1) > NFS_MAXATTRTIMEO(inode)) |
| 1187 | nfsi->attrtimeo = NFS_MAXATTRTIMEO(inode); | 1180 | nfsi->attrtimeo = NFS_MAXATTRTIMEO(inode); |
| 1188 | nfsi->attrtimeo_timestamp = now; | 1181 | nfsi->attrtimeo_timestamp = now; |
