From e70b9aed4c9e965f66e28a0902e1db48d52c968a Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 9 Sep 2009 16:32:54 +1000 Subject: [PATCH] --- yaml --- r: 164634 b: refs/heads/master c: 9e4c6379a62d94d3362b12c7a00f2105df6d7eeb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sunrpc/cache.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index bd543ac73800..fb5f2de1c505 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4cfc7e6019caa3e97d2a81c48c8d575d7b38d751 +refs/heads/master: 9e4c6379a62d94d3362b12c7a00f2105df6d7eeb diff --git a/trunk/net/sunrpc/cache.c b/trunk/net/sunrpc/cache.c index ade8a7e99cd3..1a50dfe6dc6e 100644 --- a/trunk/net/sunrpc/cache.c +++ b/trunk/net/sunrpc/cache.c @@ -255,7 +255,7 @@ int cache_check(struct cache_detail *detail, } if (rv == -EAGAIN) { - if (cache_defer_req(rqstp, h) == 0) { + if (cache_defer_req(rqstp, h) < 0) { /* Request is not deferred */ rv = cache_is_valid(detail, h); if (rv == -EAGAIN) @@ -511,11 +511,11 @@ static int cache_defer_req(struct cache_req *req, struct cache_head *item) * or continue and drop the oldest below */ if (net_random()&1) - return 0; + return -ENOMEM; } dreq = req->defer(req); if (dreq == NULL) - return 0; + return -ENOMEM; dreq->item = item; @@ -545,9 +545,9 @@ static int cache_defer_req(struct cache_req *req, struct cache_head *item) if (!test_bit(CACHE_PENDING, &item->flags)) { /* must have just been validated... */ cache_revisit_request(item); - return 0; + return -EAGAIN; } - return 1; + return 0; } static void cache_revisit_request(struct cache_head *item)