]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
NFS: cache_lib: use complete() instead of complete_all()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Thu, 22 Sep 2016 11:54:29 +0000 (13:54 +0200)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 23 Sep 2016 13:40:12 +0000 (09:40 -0400)
commit2a446a5d99fe838b8aba2592a4bc88d93d8cebf8
treec9fed34862e5c7cb2949146643fbe0d00abde914
parent024de8f1ade4c513f74172993572e9694ede81a1
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>
fs/nfs/cache_lib.c