diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-12-23 15:21:55 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-12-23 15:21:55 -0500 |
commit | 7a50c60e461f6ff97428da9448c3dad5b7bef491 (patch) | |
tree | 311c584f990377c1cb16b178db4ad54ede3bea03 /fs/nfs/dir.c | |
parent | 15860ab1d7700249ebe3b0b8ca86ce43dfd0d66f (diff) |
NFS: Use delegations to optimise ACCESS calls
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index ff167aa62434..ed7024c34885 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1797,7 +1797,8 @@ static int nfs_access_get_cached(struct inode *inode, struct rpc_cred *cred, str | |||
1797 | cache = nfs_access_search_rbtree(inode, cred); | 1797 | cache = nfs_access_search_rbtree(inode, cred); |
1798 | if (cache == NULL) | 1798 | if (cache == NULL) |
1799 | goto out; | 1799 | goto out; |
1800 | if (!time_in_range(jiffies, cache->jiffies, cache->jiffies + nfsi->attrtimeo)) | 1800 | if (!nfs_have_delegation(inode, FMODE_READ) && |
1801 | !time_in_range(jiffies, cache->jiffies, cache->jiffies + nfsi->attrtimeo)) | ||
1801 | goto out_stale; | 1802 | goto out_stale; |
1802 | res->jiffies = cache->jiffies; | 1803 | res->jiffies = cache->jiffies; |
1803 | res->cred = cache->cred; | 1804 | res->cred = cache->cred; |