]> git.baikalelectronics.ru Git - kernel.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)
commit1e087a608efc6abf1105c7a9df73feb40b1ac302
treec9fed34862e5c7cb2949146643fbe0d00abde914
parente9d41f8a32f8ba153c25d5a02a9a76063816b093
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