OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-697-g54fb96d
Gerrit Code Review
gerrit@openafs.org
Thu, 27 Jan 2011 08:00:17 -0800 (PST)
The following commit has been merged in the master branch:
commit 54fb96d2b6517ae491fd7a7c03246850d29156d5
Author: Andrew Deason <adeason@sinenomine.net>
Date: Thu Dec 2 17:13:17 2010 -0600
RX: Avoid retrying calls on busy channels
When we receive an RX_PACKET_TYPE_BUSY packet, we currently ignore it.
This is a problem when the server has a long-running call on that same
call channel that we don't know about, since we will then keep
retrying the call on the same channel and keep getting
RX_PACKET_TYPE_BUSY responses.
Try to avoid this by returning the RX_CALL_TIMEOUT error when we get a
BUSY packet and there are other free call channels available on the
conn. When the application gets the error and retries the call, we
avoid using the same call channel again where possible. When all of
the call channels appear busy, we revert to effectively the old
behavior of retrying the call on the same channel until we get an
RX_CALL_DEAD (or similar) error.
FIXES 128671
Change-Id: I29b84aa36dcc856528c30d26811e5d6c4b78a1ca
Reviewed-on: http://gerrit.openafs.org/3431
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/rx/rx.c | 158 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
src/rx/rx.h | 5 ++
2 files changed, 159 insertions(+), 4 deletions(-)
--
OpenAFS Master Repository