From 4f6d061ac6e19504fe8bccd9bcc720c0479999c3 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 1 Mar 2012 15:49:12 -0500 Subject: [PATCH] unix: always retry RX_CALL_BUSY RX_CALL_BUSY is an indication that the call channel is busy not that the server is down or otherwise cannot respond. Unconditionally retry the RPC and do not alter state. We just want to force the use of a different call channel. Reviewed-on: http://gerrit.openafs.org/6852 Tested-by: BuildBot Reviewed-by: Hartmut Reuter Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 579976cf246bd55dea2dfd3bf8470fd8bb8bde0a) Change-Id: I1ab5ed69dc707f13620d91a01227679c47bb97df Reviewed-on: http://gerrit.openafs.org/6853 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/afs/afs_analyze.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/afs/afs_analyze.c b/src/afs/afs_analyze.c index 1cd7b8a40..efda1be9a 100644 --- a/src/afs/afs_analyze.c +++ b/src/afs/afs_analyze.c @@ -572,11 +572,11 @@ afs_Analyze(struct afs_conn *aconn, struct rx_connection *rxconn, acode = 455; #endif /* AFS_64BIT_CLIENT */ if ((acode < 0) && (acode != VRESTARTING)) { - if (acode == RX_MSGSIZE) { + if (acode == RX_MSGSIZE || acode == RX_CALL_BUSY) { shouldRetry = 1; goto out; } - if (acode == RX_CALL_TIMEOUT || acode == RX_CALL_IDLE || acode == RX_CALL_BUSY) { + if (acode == RX_CALL_TIMEOUT || acode == RX_CALL_IDLE) { serversleft = afs_BlackListOnce(areq, afid, tsp); if (afid) tvp = afs_FindVolume(afid, READ_LOCK); -- 2.39.5