ULONG ulParseFlags = 0;
GUID stAuthGroup;
ULONG ulNameProcessingFlags = 0;
+ BOOLEAN bOpenedReparsePoint = FALSE;
__Enter
{
}
if ( BooleanFlagOn( ulOptions, FILE_OPEN_REPARSE_POINT) &&
- pDirectoryCB != NULL &&
- !BooleanFlagOn( pDirectoryCB->ObjectInformation->FileAttributes, FILE_ATTRIBUTE_REPARSE_POINT))
+ pDirectoryCB != NULL)
{
- AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
- AFS_TRACE_LEVEL_VERBOSE,
- "AFSCommonCreate (%08lX) Reparse open request but attribute not set for %wZ Type %08lX\n",
- Irp,
- &uniFileName,
- pDirectoryCB->ObjectInformation->FileType);
+ if( !BooleanFlagOn( pDirectoryCB->ObjectInformation->FileAttributes, FILE_ATTRIBUTE_REPARSE_POINT))
+ {
+ AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
+ AFS_TRACE_LEVEL_VERBOSE,
+ "AFSCommonCreate (%08lX) Reparse open request but attribute not set for %wZ Type %08lX\n",
+ Irp,
+ &uniFileName,
+ pDirectoryCB->ObjectInformation->FileType);
+ }
+ else
+ {
+ bOpenedReparsePoint = TRUE;
+ }
}
//
}
}
+ if( bOpenedReparsePoint)
+ {
+ SetFlag( pCcb->Flags, CCB_FLAG_MASK_OPENED_REPARSE_POINT);
+ }
+
AFSDbgLogMsg( AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING,
AFS_TRACE_LEVEL_VERBOSE,
"AFSCreate Count on %wZ DE %p Ccb %p Cnt %d\n",