OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3156-gded88c8

Gerrit Code Review gerrit@openafs.org
Thu, 29 Nov 2012 15:49:25 -0800 (PST)


The following commit has been merged in the master branch:
commit ded88c8f8d1dc6758344b708d2aa55f3b29651c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 24 14:36:46 2012 -0500

    Windows: Fail RX_INVALID_OPERATION errors
    
    RX_INVALID_OPERATION errors were not resulting in an eventual
    failure and the RPC was being repeated indefinitely.  There were
    three subtle problems:
    
     1. RX_INVALID_OPERATION was being processed by cm_Analyze()
        resulting in a retry in all cases.  Even those where no
        connp was passed in as NULL.  connp == NULL implies that
        no server could be obtained so the RPC was not issued on
        this pass.  As a result there should be no retry.
    
     2. RX_INVALID_OPERATION was mapped to CM_ERROR_UNKNOWN which
        is not an error that is reported to the AFS redirector.
    
     3. RDR_BkgFetch was setting CM_REQ_NORETRY and permitting
        the retries to be handled by the cm_daemon threads.  However,
        CM_ERROR_UNKNOWN was not treated as a fatal error by cm_Daemon.
    
    Address the failures in the following ways:
    
     A. cm_Analyze no longer retries calls which did not take place.
    
     B. Create a new CM_ERROR_INVAL_NET_RESP error for RX_INVALID_OPERATION
        which is translated to the Win32 STATUS_INVALID_NETWORK_RESPONSE
        error.  This is now returned to the AFS redirector and treated
        as a fatal error.
    
     C. RDR_BkgFetch no longer queues tasks to cm_Daemon with the
        CM_REQ_NORETRY flag set.
    
    Change-Id: I1eba0e83fbbe5726f43f667ddb67ced8c011853d
    Reviewed-on: http://gerrit.openafs.org/8510
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

 src/WINNT/afsd/cm_buf.c             |   14 +++++++++++---
 src/WINNT/afsd/cm_conn.c            |   19 +++++++++----------
 src/WINNT/afsd/cm_dcache.c          |    2 ++
 src/WINNT/afsd/cm_error.h           |    1 +
 src/WINNT/afsd/cm_utils.c           |    6 ++++++
 src/WINNT/afsd/smb.c                |    3 +++
 src/WINNT/afsrdr/user/RDRFunction.c |    5 +++++
 7 files changed, 37 insertions(+), 13 deletions(-)

-- 
OpenAFS Master Repository