Lines Matching refs:current_detail
318 static struct cache_detail *current_detail;
351 if (current_detail == cd)
352 current_detail = NULL;
379 while (current_detail == NULL ||
380 current_index >= current_detail->hash_size) {
381 if (current_detail)
382 next = current_detail->others.next;
386 current_detail = NULL;
390 current_detail = list_entry(next, struct cache_detail, others);
391 if (current_detail->nextcheck > get_seconds())
392 current_index = current_detail->hash_size;
395 current_detail->nextcheck = get_seconds()+30*60;
400 while (current_detail &&
401 current_index < current_detail->hash_size &&
402 current_detail->hash_table[current_index] == NULL)
407 if (current_detail && current_index < current_detail->hash_size) {
411 write_lock(¤t_detail->hash_lock);
415 cp = & current_detail->hash_table[current_index];
417 if (current_detail->nextcheck > ch->expiry_time)
418 current_detail->nextcheck = ch->expiry_time+1;
419 if (!cache_is_expired(current_detail, ch))
424 current_detail->entries--;
429 write_unlock(¤t_detail->hash_lock);
430 d = current_detail;
436 cache_dequeue(current_detail, ch);