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