• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/net/sunrpc/

Lines Matching refs:detail

50 struct cache_head *sunrpc_cache_lookup(struct cache_detail *detail,
56 head = &detail->hash_table[hash];
58 read_lock(&detail->hash_lock);
62 if (detail->match(tmp, key)) {
64 read_unlock(&detail->hash_lock);
68 read_unlock(&detail->hash_lock);
71 new = detail->alloc();
79 detail->init(new, key);
81 write_lock(&detail->hash_lock);
86 if (detail->match(tmp, key)) {
88 write_unlock(&detail->hash_lock);
89 cache_put(new, detail);
95 detail->entries++;
97 write_unlock(&detail->hash_lock);
104 static void queue_loose(struct cache_detail *detail, struct cache_head *ch);
114 struct cache_detail *detail, int new)
120 queue_loose(detail, head);
124 struct cache_head *sunrpc_cache_update(struct cache_detail *detail,
136 write_lock(&detail->hash_lock);
141 detail->update(old, new);
143 write_unlock(&detail->hash_lock);
144 cache_fresh_unlocked(old, detail, is_new);
147 write_unlock(&detail->hash_lock);
150 tmp = detail->alloc();
152 cache_put(old, detail);
156 detail->init(tmp, old);
157 head = &detail->hash_table[hash];
159 write_lock(&detail->hash_lock);
163 detail->update(tmp, new);
166 detail->entries++;
170 write_unlock(&detail->hash_lock);
171 cache_fresh_unlocked(tmp, detail, is_new);
172 cache_fresh_unlocked(old, detail, 0);
173 cache_put(old, detail);
178 static int cache_make_upcall(struct cache_detail *detail, struct cache_head *h);
191 int cache_check(struct cache_detail *detail,
201 else if (detail->flush_time > h->last_refresh)
221 switch (cache_make_upcall(detail, h)) {
226 cache_fresh_unlocked(h, detail,
245 cache_put(h, detail);
494 void cache_purge(struct cache_detail *detail)
496 detail->flush_time = LONG_MAX;
497 detail->nextcheck = get_seconds();
499 detail->flush_time = 1;
903 static void queue_loose(struct cache_detail *detail, struct cache_head *ch)
907 list_for_each_entry(cq, &detail->queue, list)
916 cache_put(cr->item, detail);
996 static void warn_no_listener(struct cache_detail *detail)
998 if (detail->last_warn != detail->last_close) {
999 detail->last_warn = detail->last_close;
1000 if (detail->warn_no_listener)
1001 detail->warn_no_listener(detail);
1009 static int cache_make_upcall(struct cache_detail *detail, struct cache_head *h)
1017 if (detail->cache_request == NULL)
1020 if (atomic_read(&detail->readers) == 0 &&
1021 detail->last_close < get_seconds() - 30) {
1022 warn_no_listener(detail);
1038 detail->cache_request(detail, h, &bp, &len);
1051 list_add_tail(&crq->q.list, &detail->queue);