diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-01-13 03:52:43 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-01-31 19:28:10 -0500 |
commit | 977ac3157328239a0f4074b13a3d9eb5c832cd6c (patch) | |
tree | 6b309227b39229a0afd1158c768f3a796e755791 /net/sunrpc/rpcb_clnt.c | |
parent | c2550e07a61a4528673fb85aaaee16048b7cf6cc (diff) |
SUNRPC: register rpcbind programs in passed network namespase context
Registering rpcbind program requires rpcbind clients, which are per network
namespace context.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/rpcb_clnt.c')
-rw-r--r-- | net/sunrpc/rpcb_clnt.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index 0d76c0f09bb8..a5aa50d0aae4 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c | |||
@@ -425,7 +425,7 @@ static int rpcb_register_call(struct rpc_clnt *clnt, struct rpc_message *msg) | |||
425 | * IN6ADDR_ANY (ie available for all AF_INET and AF_INET6 | 425 | * IN6ADDR_ANY (ie available for all AF_INET and AF_INET6 |
426 | * addresses). | 426 | * addresses). |
427 | */ | 427 | */ |
428 | int rpcb_register(u32 prog, u32 vers, int prot, unsigned short port) | 428 | int rpcb_register(struct net *net, u32 prog, u32 vers, int prot, unsigned short port) |
429 | { | 429 | { |
430 | struct rpcbind_args map = { | 430 | struct rpcbind_args map = { |
431 | .r_prog = prog, | 431 | .r_prog = prog, |
@@ -436,7 +436,7 @@ int rpcb_register(u32 prog, u32 vers, int prot, unsigned short port) | |||
436 | struct rpc_message msg = { | 436 | struct rpc_message msg = { |
437 | .rpc_argp = &map, | 437 | .rpc_argp = &map, |
438 | }; | 438 | }; |
439 | struct sunrpc_net *sn = net_generic(&init_net, sunrpc_net_id); | 439 | struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); |
440 | 440 | ||
441 | dprintk("RPC: %sregistering (%u, %u, %d, %u) with local " | 441 | dprintk("RPC: %sregistering (%u, %u, %d, %u) with local " |
442 | "rpcbind\n", (port ? "" : "un"), | 442 | "rpcbind\n", (port ? "" : "un"), |
@@ -563,7 +563,7 @@ static int rpcb_unregister_all_protofamilies(struct sunrpc_net *sn, | |||
563 | * service on any IPv4 address, but not on IPv6. The latter | 563 | * service on any IPv4 address, but not on IPv6. The latter |
564 | * advertises the service on all IPv4 and IPv6 addresses. | 564 | * advertises the service on all IPv4 and IPv6 addresses. |
565 | */ | 565 | */ |
566 | int rpcb_v4_register(const u32 program, const u32 version, | 566 | int rpcb_v4_register(struct net *net, const u32 program, const u32 version, |
567 | const struct sockaddr *address, const char *netid) | 567 | const struct sockaddr *address, const char *netid) |
568 | { | 568 | { |
569 | struct rpcbind_args map = { | 569 | struct rpcbind_args map = { |
@@ -575,7 +575,7 @@ int rpcb_v4_register(const u32 program, const u32 version, | |||
575 | struct rpc_message msg = { | 575 | struct rpc_message msg = { |
576 | .rpc_argp = &map, | 576 | .rpc_argp = &map, |
577 | }; | 577 | }; |
578 | struct sunrpc_net *sn = net_generic(&init_net, sunrpc_net_id); | 578 | struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); |
579 | 579 | ||
580 | if (sn->rpcb_local_clnt4 == NULL) | 580 | if (sn->rpcb_local_clnt4 == NULL) |
581 | return -EPROTONOSUPPORT; | 581 | return -EPROTONOSUPPORT; |