OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_28-4-gf3f68f6

Gerrit Code Review
Thu, 5 Dec 2013 12:32:49 -0800 (PST)

The following commit has been merged in the openafs-devel-1_7_x branch:
commit f3f68f62d7df4be51e3235cf3195379b093bf579
Author: Jeffrey Altman <>
Date:   Wed Nov 27 12:26:44 2013 -0500

    Windows: RDR capture Cc/Mm exceptions do not break
    All of the Cc and Mm functions are wrapped in try/except blocks.
    The purpose is to ensure that Cc and Mm do not return an error as
    an exception which could result in the afs redirector failing to
    release a resource.   Instead of calling the AFS exception handler
    just handle the exception with EXCEPTION_EXECUTE_HANDLER.  This permits
    the __except block to capture the exception code.
    The AFS exception handler will throw its own exception if the
    AFSDebugFlags AFS_DBG_BUGCHECK_EXCEPTION bit is set.  This is helpful when
    debugging exceptions thrown by errors in the afs redirector code.  It is
    not helpful when a Cc function throws an exception.  For example,
    CcReadCopy() will throw STATUS_DELETE_FILE as an exception if an attempt
    to read from a deleted file is initiated.   This should simply fail the
    read operation not BSOD the system.
    Tested-by: Jeffrey Altman <>
    Reviewed-by: Jeffrey Altman <>
    (cherry picked from commit 9b6f79108725dc5b6d4cbea4697199e5e745dc99)
    Change-Id: I444915bacd73a991860a9952aa932ad1b5ac0de7
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>

 src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp  |    2 +-
 src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp |    2 +-
 src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp  |  253 +++++++++++++++++----------
 src/WINNT/afsrdr/kernel/lib/AFSRead.cpp     |    8 +-
 src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp    |   10 +-
 5 files changed, 172 insertions(+), 103 deletions(-)

OpenAFS Master Repository