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