summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2012-04-25 16:22:40 +0200
committerJ. Bruce Fields <bfields@redhat.com>2012-06-01 02:29:41 +0200
commit4db77695bf5738bdafa83d1b58b64cbecc6f55e7 (patch)
tree251c5071cb060e29a22cad9b0e2fbd53f719602c
parentsunrpc: do array overrun check in svc_recv before allocating pages (diff)
downloadlinux-4db77695bf5738bdafa83d1b58b64cbecc6f55e7.tar.xz
linux-4db77695bf5738bdafa83d1b58b64cbecc6f55e7.zip
LockD: pass service to per-net up and down functions
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r--fs/lockd/svc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 3250f280a171..58ddc38cfccd 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -251,10 +251,9 @@ out_err:
return err;
}
-static int lockd_up_net(struct net *net)
+static int lockd_up_net(struct svc_serv *serv, struct net *net)
{
struct lockd_net *ln = net_generic(net, lockd_net_id);
- struct svc_serv *serv = nlmsvc_rqst->rq_server;
int error;
if (ln->nlmsvc_users++)
@@ -276,10 +275,9 @@ err_rpcb:
return error;
}
-static void lockd_down_net(struct net *net)
+static void lockd_down_net(struct svc_serv *serv, struct net *net)
{
struct lockd_net *ln = net_generic(net, lockd_net_id);
- struct svc_serv *serv = nlmsvc_rqst->rq_server;
if (ln->nlmsvc_users) {
if (--ln->nlmsvc_users == 0) {
@@ -307,7 +305,7 @@ int lockd_up(struct net *net)
* Check whether we're already up and running.
*/
if (nlmsvc_rqst) {
- error = lockd_up_net(net);
+ error = lockd_up_net(nlmsvc_rqst->rq_server, net);
goto out;
}
@@ -378,7 +376,7 @@ out:
return error;
err_start:
- lockd_down_net(net);
+ lockd_down_net(serv, net);
goto destroy_and_out;
}
EXPORT_SYMBOL_GPL(lockd_up);
@@ -390,7 +388,7 @@ void
lockd_down(struct net *net)
{
mutex_lock(&nlmsvc_mutex);
- lockd_down_net(net);
+ lockd_down_net(nlmsvc_rqst->rq_server, net);
if (nlmsvc_users) {
if (--nlmsvc_users)
goto out;