]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: replace global bl_wq with per-net one
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Sun, 11 Mar 2012 14:20:31 +0000 (18:20 +0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 11 Mar 2012 14:57:35 +0000 (10:57 -0400)
commit21d10ac75cd8e454e5ece6a0a412e1a6ce2c2d44
treeed026242a8580c8df03c9383ef32e6e7fb90f949
parentf1e4ac3eee5a7f78fb4c2423a1ca0e1f0aa21482
NFS: replace global bl_wq with per-net one

This queue is used for sleeping in kernel and it have to be per-net since we
don't want to wake any other waiters except in out network nemespace.
BTW, move wq to per-net data is easy. But some way to handle upcall timeouts
have to be provided. On message destroy in case of timeout, tasks, waiting for
message to be delivered, should be awakened. Thus, some data required to
located the right wait queue. Chosen solution replaces rpc_pipe_msg object with
new introduced bl_pipe_msg object, containing rpc_pipe_msg and proper wq.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/blocklayout/blocklayout.c
fs/nfs/blocklayout/blocklayout.h
fs/nfs/blocklayout/blocklayoutdev.c
fs/nfs/blocklayout/blocklayoutdm.c
fs/nfs/netns.h