SUNRPC: Fix up svc_unregister()
authorChuck Lever <chuck.lever@oracle.com>
Thu, 25 Sep 2008 15:56:57 +0000 (11:56 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 29 Sep 2008 22:13:40 +0000 (18:13 -0400)
commitf6fb3f6f591b50fa4f51962ad06ee0d8782e1bc8
tree2a50459b61ffdecac33bf99f41a24ce521994f1d
parent9d548b9c955c0709d1229d21d0bc14afa6b356de
SUNRPC: Fix up svc_unregister()

With the new rpcbind code, a PMAP_UNSET will not have any effect on
services registered via rpcbind v3 or v4.

Implement a version of svc_unregister() that uses an RPCB_UNSET with
an empty netid string to make sure we have cleared *all* entries for
a kernel RPC service when shutting down, or before starting a fresh
instance of the service.

Use the new version only when CONFIG_SUNRPC_REGISTER_V4 is enabled;
otherwise, the legacy PMAP version is used to ensure complete
backwards-compatibility with the Linux portmapper daemon.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
net/sunrpc/svc.c