From 4224dc5c281ffc2bf8dd34eadb76762304eece75 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 3 Feb 2012 11:14:50 -0500 Subject: [PATCH] Windows: Do not open file if shutdown in progress Perform the shutdown check earlier in AFSCommonCreate() to prevent a request from being processed after the service indicates that a shutdown has begun. Change-Id: I8959141b5e2161ffe960e93a500b1153d9594a28 Reviewed-on: http://gerrit.openafs.org/6647 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp b/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp index 08fecc121..c9b14ba2d 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSCreate.cpp @@ -187,6 +187,21 @@ AFSCommonCreate( IN PDEVICE_OBJECT DeviceObject, (ULONGLONG)PsGetCurrentThreadId(), &stAuthGroup); + // + // If we are in shutdown mode then fail the request + // + + if( BooleanFlagOn( pDeviceExt->DeviceFlags, AFS_DEVICE_FLAG_REDIRECTOR_SHUTDOWN)) + { + + AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING, + AFS_TRACE_LEVEL_WARNING, + "AFSCommonCreate (%08lX) Open request after shutdown\n", + Irp); + + try_return( ntStatus = STATUS_TOO_LATE); + } + if( !BooleanFlagOn( AFSGlobalRoot->ObjectInformation.Flags, AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED)) { @@ -204,21 +219,6 @@ AFSCommonCreate( IN PDEVICE_OBJECT DeviceObject, } } - // - // If we are in shutdown mode then fail the request - // - - if( BooleanFlagOn( pDeviceExt->DeviceFlags, AFS_DEVICE_FLAG_REDIRECTOR_SHUTDOWN)) - { - - AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING, - AFS_TRACE_LEVEL_WARNING, - "AFSCommonCreate (%08lX) Open request after shutdown\n", - Irp); - - try_return( ntStatus = STATUS_TOO_LATE); - } - // // Go and parse the name for processing. // If ulParseFlags is returned with AFS_PARSE_FLAG_FREE_FILE_BUFFER set, -- 2.39.5