summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2016-09-22 13:54:29 +0200
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2016-09-23 15:40:12 +0200
commit2a446a5d99fe838b8aba2592a4bc88d93d8cebf8 (patch)
treec9fed34862e5c7cb2949146643fbe0d00abde914
parentNFS: direct: use complete() instead of complete_all() (diff)
downloadlinux-2a446a5d99fe838b8aba2592a4bc88d93d8cebf8.tar.xz
linux-2a446a5d99fe838b8aba2592a4bc88d93d8cebf8.zip
NFS: cache_lib: use complete() instead of complete_all()
There is only one waiter for the completion, therefore there is no need to use complete_all(). Let's make that clear by using complete() instead of complete_all(). The generic caching code from sunrpc is calling revisit() only once. The usage pattern of the completion is: waiter context waker context do_cache_lookup_wait() nfs_cache_defer_req_alloc() init_completion() do_cache_lookup() nfs_cache_wait_for_upcall() wait_for_completion_timeout() nfs_dns_cache_revisit() complete() nfs_cache_defer_req_put() Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
-rw-r--r--fs/nfs/cache_lib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/cache_lib.c b/fs/nfs/cache_lib.c
index 5f7b053720ee..6de15709d024 100644
--- a/fs/nfs/cache_lib.c
+++ b/fs/nfs/cache_lib.c
@@ -76,7 +76,7 @@ static void nfs_dns_cache_revisit(struct cache_deferred_req *d, int toomany)
dreq = container_of(d, struct nfs_cache_defer_req, deferred_req);
- complete_all(&dreq->completion);
+ complete(&dreq->completion);
nfs_cache_defer_req_put(dreq);
}