diff mbox

sunrpc: when call_bind fails with -EACCES, don't exit with -EIO

Message ID 1310049133-10255-1-git-send-email-jlayton@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jeff Layton July 7, 2011, 2:32 p.m. UTC
Commit 0b760113a fixed the client not to loop indefinitely if the
rpcbind was continually failing. When this occurs though, the rpc_task
now exits with a status of -EIO. If the tk_status is -EACCES, it seems
like we should preserve that in this situation.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
 net/sunrpc/clnt.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 8c91415..77f6c0c 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1175,8 +1175,10 @@  call_bind_status(struct rpc_task *task)
 			status = -EOPNOTSUPP;
 			break;
 		}
-		if (task->tk_rebind_retry == 0)
+		if (task->tk_rebind_retry == 0) {
+			status = task->tk_status;
 			break;
+		}
 		task->tk_rebind_retry--;
 		rpc_delay(task, 3*HZ);
 		goto retry_timeout;