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>
This commit is contained in:
parent
91c427ac3a
commit
4db77695bf
|
@ -251,10 +251,9 @@ out_err:
|
||||||
return 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 lockd_net *ln = net_generic(net, lockd_net_id);
|
||||||
struct svc_serv *serv = nlmsvc_rqst->rq_server;
|
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
if (ln->nlmsvc_users++)
|
if (ln->nlmsvc_users++)
|
||||||
|
@ -276,10 +275,9 @@ err_rpcb:
|
||||||
return error;
|
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 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) {
|
||||||
if (--ln->nlmsvc_users == 0) {
|
if (--ln->nlmsvc_users == 0) {
|
||||||
|
@ -307,7 +305,7 @@ int lockd_up(struct net *net)
|
||||||
* Check whether we're already up and running.
|
* Check whether we're already up and running.
|
||||||
*/
|
*/
|
||||||
if (nlmsvc_rqst) {
|
if (nlmsvc_rqst) {
|
||||||
error = lockd_up_net(net);
|
error = lockd_up_net(nlmsvc_rqst->rq_server, net);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -378,7 +376,7 @@ out:
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
err_start:
|
err_start:
|
||||||
lockd_down_net(net);
|
lockd_down_net(serv, net);
|
||||||
goto destroy_and_out;
|
goto destroy_and_out;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(lockd_up);
|
EXPORT_SYMBOL_GPL(lockd_up);
|
||||||
|
@ -390,7 +388,7 @@ void
|
||||||
lockd_down(struct net *net)
|
lockd_down(struct net *net)
|
||||||
{
|
{
|
||||||
mutex_lock(&nlmsvc_mutex);
|
mutex_lock(&nlmsvc_mutex);
|
||||||
lockd_down_net(net);
|
lockd_down_net(nlmsvc_rqst->rq_server, net);
|
||||||
if (nlmsvc_users) {
|
if (nlmsvc_users) {
|
||||||
if (--nlmsvc_users)
|
if (--nlmsvc_users)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue