diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2009-03-18 20:46:59 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-03-28 15:55:40 -0400 |
commit | ba5c35e0c7e30b095636cd58b0854fdbd3c32947 (patch) | |
tree | 43f59f4c98576811e66567e06470f0d840db18ab /net | |
parent | fc28decdc93633a65d54e42498e9e819d466329c (diff) |
SUNRPC: Don't return EPROTONOSUPPORT in svc_register()'s helpers
The RPC client returns -EPROTONOSUPPORT if there is a protocol version
mismatch (ie the remote RPC server doesn't support the RPC protocol
version sent by the client).
Helpers for the svc_register() function return -EPROTONOSUPPORT if they
don't recognize the passed-in IPPROTO_ value.
These are two entirely different failure modes.
Have the helpers return -ENOPROTOOPT instead of -EPROTONOSUPPORT. This
will allow callers to determine more precisely what the underlying
problem is, and decide to report or recover appropriately.
This patch is part of a series that addresses
http://bugzilla.kernel.org/show_bug.cgi?id=12256
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index d72ff44826d8..17e0d7265dfd 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -749,7 +749,7 @@ static int __svc_rpcb_register4(const u32 program, const u32 version, | |||
749 | netid = RPCBIND_NETID_TCP; | 749 | netid = RPCBIND_NETID_TCP; |
750 | break; | 750 | break; |
751 | default: | 751 | default: |
752 | return -EPROTONOSUPPORT; | 752 | return -ENOPROTOOPT; |
753 | } | 753 | } |
754 | 754 | ||
755 | return rpcb_v4_register(program, version, | 755 | return rpcb_v4_register(program, version, |
@@ -785,7 +785,7 @@ static int __svc_rpcb_register6(const u32 program, const u32 version, | |||
785 | netid = RPCBIND_NETID_TCP6; | 785 | netid = RPCBIND_NETID_TCP6; |
786 | break; | 786 | break; |
787 | default: | 787 | default: |
788 | return -EPROTONOSUPPORT; | 788 | return -ENOPROTOOPT; |
789 | } | 789 | } |
790 | 790 | ||
791 | return rpcb_v4_register(program, version, | 791 | return rpcb_v4_register(program, version, |