aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/cache.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index d19c07583f8f..44f45166378a 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -221,6 +221,7 @@ int cache_check(struct cache_detail *detail,
221 switch (cache_make_upcall(detail, h)) { 221 switch (cache_make_upcall(detail, h)) {
222 case -EINVAL: 222 case -EINVAL:
223 clear_bit(CACHE_PENDING, &h->flags); 223 clear_bit(CACHE_PENDING, &h->flags);
224 cache_revisit_request(h);
224 if (rv == -EAGAIN) { 225 if (rv == -EAGAIN) {
225 set_bit(CACHE_NEGATIVE, &h->flags); 226 set_bit(CACHE_NEGATIVE, &h->flags);
226 cache_fresh_unlocked(h, detail, 227 cache_fresh_unlocked(h, detail,
@@ -473,8 +474,10 @@ static int cache_clean(void)
473 if (!ch) 474 if (!ch)
474 current_index ++; 475 current_index ++;
475 spin_unlock(&cache_list_lock); 476 spin_unlock(&cache_list_lock);
476 if (ch) 477 if (ch) {
478 cache_revisit_request(ch);
477 cache_put(ch, d); 479 cache_put(ch, d);
480 }
478 } else 481 } else
479 spin_unlock(&cache_list_lock); 482 spin_unlock(&cache_list_lock);
480 483