Lines Matching refs:cache

2105 	struct nfs_access_entry *cache;  in nfs_access_free_list()  local
2108 cache = list_entry(head->next, struct nfs_access_entry, lru); in nfs_access_free_list()
2109 list_del(&cache->lru); in nfs_access_free_list()
2110 nfs_access_free_entry(cache); in nfs_access_free_list()
2119 struct nfs_access_entry *cache; in nfs_do_access_cache_scan() local
2132 cache = list_entry(nfsi->access_cache_entry_lru.next, in nfs_do_access_cache_scan()
2134 list_move(&cache->lru, &head); in nfs_do_access_cache_scan()
2135 rb_erase(&cache->rb_node, &nfsi->access_cache); in nfs_do_access_cache_scan()
2243 struct nfs_access_entry *cache; in nfs_access_get_cached() local
2249 cache = nfs_access_search_rbtree(inode, cred); in nfs_access_get_cached()
2250 if (cache == NULL) in nfs_access_get_cached()
2253 !time_in_range_open(jiffies, cache->jiffies, cache->jiffies + nfsi->attrtimeo)) in nfs_access_get_cached()
2255 res->jiffies = cache->jiffies; in nfs_access_get_cached()
2256 res->cred = cache->cred; in nfs_access_get_cached()
2257 res->mask = cache->mask; in nfs_access_get_cached()
2258 list_move_tail(&cache->lru, &nfsi->access_cache_entry_lru); in nfs_access_get_cached()
2264 rb_erase(&cache->rb_node, &nfsi->access_cache); in nfs_access_get_cached()
2265 list_del(&cache->lru); in nfs_access_get_cached()
2267 nfs_access_free_entry(cache); in nfs_access_get_cached()
2281 struct nfs_access_entry *cache; in nfs_access_get_cached_rcu() local
2289 cache = list_entry(lh, struct nfs_access_entry, lru); in nfs_access_get_cached_rcu()
2291 cred != cache->cred) in nfs_access_get_cached_rcu()
2292 cache = NULL; in nfs_access_get_cached_rcu()
2293 if (cache == NULL) in nfs_access_get_cached_rcu()
2296 !time_in_range_open(jiffies, cache->jiffies, cache->jiffies + nfsi->attrtimeo)) in nfs_access_get_cached_rcu()
2298 res->jiffies = cache->jiffies; in nfs_access_get_cached_rcu()
2299 res->cred = cache->cred; in nfs_access_get_cached_rcu()
2300 res->mask = cache->mask; in nfs_access_get_cached_rcu()
2342 struct nfs_access_entry *cache = kmalloc(sizeof(*cache), GFP_KERNEL); in nfs_access_add_cache() local
2343 if (cache == NULL) in nfs_access_add_cache()
2345 RB_CLEAR_NODE(&cache->rb_node); in nfs_access_add_cache()
2346 cache->jiffies = set->jiffies; in nfs_access_add_cache()
2347 cache->cred = get_rpccred(set->cred); in nfs_access_add_cache()
2348 cache->mask = set->mask; in nfs_access_add_cache()
2355 nfs_access_add_rbtree(inode, cache); in nfs_access_add_cache()
2389 struct nfs_access_entry cache; in nfs_do_access() local
2394 status = nfs_access_get_cached_rcu(inode, cred, &cache); in nfs_do_access()
2396 status = nfs_access_get_cached(inode, cred, &cache); in nfs_do_access()
2405 cache.mask = MAY_EXEC | MAY_WRITE | MAY_READ; in nfs_do_access()
2406 cache.cred = cred; in nfs_do_access()
2407 cache.jiffies = jiffies; in nfs_do_access()
2408 status = NFS_PROTO(inode)->access(inode, &cache); in nfs_do_access()
2417 nfs_access_add_cache(inode, &cache); in nfs_do_access()
2419 if ((mask & ~cache.mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) != 0) in nfs_do_access()