Author: ekohl
Date: Thu May 16 23:41:43 2013
New Revision: 59023
URL:
http://svn.reactos.org/svn/reactos?rev=59023&view=rev
Log:
[FASTFAT]
Implement a special case for existing files which are opened using the FILE_OVERWRITE or
FILE_OVERWRITE_IF file disposition: New file attributes must be ORed with the existing
file attributes.
Modified:
trunk/reactos/drivers/filesystems/fastfat/create.c
Modified: trunk/reactos/drivers/filesystems/fastfat/create.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfa…
==============================================================================
--- trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] Thu May 16 23:41:43
2013
@@ -690,7 +690,11 @@
RequestedDisposition == FILE_SUPERSEDE)
{
ExAcquireResourceExclusiveLite(&(pFcb->MainResource),
TRUE);
- *pFcb->Attributes = Attributes | FILE_ATTRIBUTE_ARCHIVE;
+ if (RequestedDisposition == FILE_OVERWRITE ||
+ RequestedDisposition == FILE_OVERWRITE_IF)
+ *pFcb->Attributes |= (Attributes | FILE_ATTRIBUTE_ARCHIVE);
+ else
+ *pFcb->Attributes = (Attributes | FILE_ATTRIBUTE_ARCHIVE);
Status = VfatSetAllocationSizeInformation (FileObject,
pFcb,