SUNRPC: Split another new rpcbind retry error code from EACCES
authorChuck Lever <chuck.lever@oracle.com>
Tue, 11 Sep 2007 22:00:47 +0000 (18:00 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 9 Oct 2007 21:16:56 +0000 (17:16 -0400)
commit906462af4c707ba0238f3579fdb2b594c4ea29c3
treef3c15855aaef2353700f1bc91c56108c50ca4150
parent2429cbf6a1566b8e92436d615387e4250feab46b
SUNRPC: Split another new rpcbind retry error code from EACCES

Add more new error code processing to the kernel's rpcbind client
and to call_bind_status() to distinguish two cases:

Case 1: the remote has replied that the program/version tuple is not
registered (returns EACCES)

Case 2: retry with a lesser rpcbind version (rpcb now returns EPFNOSUPPORT)

This change allows more specific error processing for each of these two
cases.  We now fail case 2 instead of retrying... it's a server
configuration error not to support even rpcbind version 2.  And don't
expose this new error code to user land -- convert it to EIO before
failing the RPC.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/clnt.c
net/sunrpc/rpcb_clnt.c