OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2815-g9cd9837

Gerrit Code Review
Thu, 9 Aug 2012 08:05:59 -0700 (PDT)

The following commit has been merged in the master branch:
commit 9cd983799e622c9acf5dd6e0b9ae3a3a75eaa8ce
Author: Andrew Deason <>
Date:   Thu Aug 2 11:58:12 2012 -0400

    rx: Process ICMP unreachable errors
    When a machine receives ICMP errors, we can detect them in
    AFS_RXERRQ_ENV environments. Many of these errors indicate that a
    machine is not reachable, so we are guaranteed to not get a response
    from them. When we get such an error for a particular peer, mark all
    relevant calls with an RX_CALL_DEAD error, since we know we won't get
    a response from them. This allows some calls to dead/unreachable hosts
    to fail much more quickly.
    Do not immediately kill new calls, since obviously the host may have
    come back up since then (or the routing/firewall/etc was fixed), but
    only calls that were started before the current error was received.
    Note that a call doesn't actually notice until the next rxi_CheckCall,
    since directly killing each of the relevant calls would be rather
    slow. So, we don't notice a dead peer immediately, though we notice
    much more quickly than we used to.
    Reorganize the error queue processing a little bit to make this easier
    to do.
    Change-Id: I403540e0677fe2d432901e4ecc19f7f385610b7f
    Tested-by: BuildBot <>
    Reviewed-by: Derrick Brashear <>

 src/rx/LINUX/rx_knet.c |   10 +-----
 src/rx/rx.c            |   83 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/rx/rx_call.h       |    3 ++
 src/rx/rx_internal.h   |   12 +++++++
 src/rx/rx_peer.h       |    3 ++
 src/rx/rx_user.c       |    8 +----
 6 files changed, 103 insertions(+), 16 deletions(-)

OpenAFS Master Repository