nfsd: make NFSd service structure allocated per net
authorStanislav Kinsbursky <skinsbursky@parallels.com>
Thu, 6 Dec 2012 11:23:24 +0000 (14:23 +0300)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 10 Dec 2012 21:25:39 +0000 (16:25 -0500)
commit9dd9845f084cda07ce00cca32a5ba8fbcbbfbcaf
tree1746b995da1b4f203373d72a41909b0eebdbecf6
parentb9c0ef8571c6ae33465dcf41d496ce2ad783c49d
nfsd: make NFSd service structure allocated per net

This patch makes main step in NFSd containerisation.

There could be different approaches to how to make NFSd able to handle
incoming RPC request from different network namespaces.  The two main
options are:

1) Share NFSd kthreads betwween all network namespaces.
2) Create separated pool of threads for each namespace.

While first approach looks more flexible, second one is simpler and
non-racy.  This patch implements the second option.

To make it possible to allocate separate pools of threads, we have to
make it possible to allocate separate NFSd service structures per net.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/netns.h
fs/nfsd/nfs4state.c
fs/nfsd/nfsctl.c
fs/nfsd/nfsd.h
fs/nfsd/nfssvc.c