OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4061-g9b6f791

Gerrit Code Review gerrit@openafs.org
Tue, 3 Dec 2013 13:29:30 -0800 (PST)


The following commit has been merged in the master branch:
commit 9b6f79108725dc5b6d4cbea4697199e5e745dc99
Author: Jeffrey Altman <jaltman@your-file-system.com>
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.
    
    Change-Id: I2fd1d4db530600441272e59353fbf28b831e2691
    Reviewed-on: http://gerrit.openafs.org/10524
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

 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