|
@@ -221,6 +221,7 @@ int cache_check(struct cache_detail *detail,
|
|
|
switch (cache_make_upcall(detail, h)) {
|
|
|
case -EINVAL:
|
|
|
clear_bit(CACHE_PENDING, &h->flags);
|
|
|
+ cache_revisit_request(h);
|
|
|
if (rv == -EAGAIN) {
|
|
|
set_bit(CACHE_NEGATIVE, &h->flags);
|
|
|
cache_fresh_unlocked(h, detail,
|
|
@@ -473,8 +474,10 @@ static int cache_clean(void)
|
|
|
if (!ch)
|
|
|
current_index ++;
|
|
|
spin_unlock(&cache_list_lock);
|
|
|
- if (ch)
|
|
|
+ if (ch) {
|
|
|
+ cache_revisit_request(ch);
|
|
|
cache_put(ch, d);
|
|
|
+ }
|
|
|
} else
|
|
|
spin_unlock(&cache_list_lock);
|
|
|
|