OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_16-5-g5cae938

Gerrit Code Review gerrit@openafs.org
Fri, 10 Aug 2012 18:53:21 -0700 (PDT)


The following commit has been merged in the openafs-devel-1_7_x branch:
commit fe6553e8187703670fc1a41c426f2467e2aa6117
Author: Andrew Deason <adeason@sinenomine.net>
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.
    
    Reviewed-on: http://gerrit.openafs.org/7929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 9cd983799e622c9acf5dd6e0b9ae3a3a75eaa8ce)
    
    Change-Id: Ica0a79e9b23b235f9a098bdf5043508f4c6a5411
    Reviewed-on: http://gerrit.openafs.org/7959
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

 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