OSDN Git Service

SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 5 Aug 2013 20:04:47 +0000 (16:04 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Aug 2013 05:59:08 +0000 (22:59 -0700)
commit4662ffcbe30f95deeae95a7009faa54e1209b466
tree26b257048e12e06f105e8f3db0b964906581d530
parent533a54ffb012864cccd6aad6917741624c666dc1
SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister

commit 786615bc1ce84150ded80daea6bd9f6297f48e73 upstream.

If rpcbind causes our connection to the AF_LOCAL socket to close after
we've registered a service, then we want to be careful about reconnecting
since the mount namespace may have changed.

By simply refusing to reconnect the AF_LOCAL socket in the case of
unregister, we avoid the need to somehow save the mount namespace. While
this may lead to some services not unregistering properly, it should
be safe.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Nix <nix@esperi.org.uk>
Cc: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/sunrpc/sched.h
net/sunrpc/clnt.c
net/sunrpc/netns.h
net/sunrpc/rpcb_clnt.c