diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-04-25 10:22:40 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-05-31 20:29:41 -0400 |
commit | 4db77695bf5738bdafa83d1b58b64cbecc6f55e7 (patch) | |
tree | 251c5071cb060e29a22cad9b0e2fbd53f719602c /fs/lockd/svc.c | |
parent | 91c427ac3a61ccabae0fdef53563edf40394b6c9 (diff) |
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>
Diffstat (limited to 'fs/lockd/svc.c')
-rw-r--r-- | fs/lockd/svc.c | 12 |
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: | |||
251 | return err; | 251 | return err; |
252 | } | 252 | } |
253 | 253 | ||
254 | static int lockd_up_net(struct net *net) | 254 | static int lockd_up_net(struct svc_serv *serv, struct net *net) |
255 | { | 255 | { |
256 | struct lockd_net *ln = net_generic(net, lockd_net_id); | 256 | struct lockd_net *ln = net_generic(net, lockd_net_id); |
257 | struct svc_serv *serv = nlmsvc_rqst->rq_server; | ||
258 | int error; | 257 | int error; |
259 | 258 | ||
260 | if (ln->nlmsvc_users++) | 259 | if (ln->nlmsvc_users++) |
@@ -276,10 +275,9 @@ err_rpcb: | |||
276 | return error; | 275 | return error; |
277 | } | 276 | } |
278 | 277 | ||
279 | static void lockd_down_net(struct net *net) | 278 | static void lockd_down_net(struct svc_serv *serv, struct net *net) |
280 | { | 279 | { |
281 | struct lockd_net *ln = net_generic(net, lockd_net_id); | 280 | struct lockd_net *ln = net_generic(net, lockd_net_id); |
282 | struct svc_serv *serv = nlmsvc_rqst->rq_server; | ||
283 | 281 | ||
284 | if (ln->nlmsvc_users) { | 282 | if (ln->nlmsvc_users) { |
285 | if (--ln->nlmsvc_users == 0) { | 283 | if (--ln->nlmsvc_users == 0) { |
@@ -307,7 +305,7 @@ int lockd_up(struct net *net) | |||
307 | * Check whether we're already up and running. | 305 | * Check whether we're already up and running. |
308 | */ | 306 | */ |
309 | if (nlmsvc_rqst) { | 307 | if (nlmsvc_rqst) { |
310 | error = lockd_up_net(net); | 308 | error = lockd_up_net(nlmsvc_rqst->rq_server, net); |
311 | goto out; | 309 | goto out; |
312 | } | 310 | } |
313 | 311 | ||
@@ -378,7 +376,7 @@ out: | |||
378 | return error; | 376 | return error; |
379 | 377 | ||
380 | err_start: | 378 | err_start: |
381 | lockd_down_net(net); | 379 | lockd_down_net(serv, net); |
382 | goto destroy_and_out; | 380 | goto destroy_and_out; |
383 | } | 381 | } |
384 | EXPORT_SYMBOL_GPL(lockd_up); | 382 | EXPORT_SYMBOL_GPL(lockd_up); |
@@ -390,7 +388,7 @@ void | |||
390 | lockd_down(struct net *net) | 388 | lockd_down(struct net *net) |
391 | { | 389 | { |
392 | mutex_lock(&nlmsvc_mutex); | 390 | mutex_lock(&nlmsvc_mutex); |
393 | lockd_down_net(net); | 391 | lockd_down_net(nlmsvc_rqst->rq_server, net); |
394 | if (nlmsvc_users) { | 392 | if (nlmsvc_users) { |
395 | if (--nlmsvc_users) | 393 | if (--nlmsvc_users) |
396 | goto out; | 394 | goto out; |