Hi,
if I read the diff correctly you deleted the line "*pFcb->Attributes = (Attributes | FILE_ATTRIBUTE_ARCHIVE);" during reverting, which was there before your changes...
Btw, are you sure that the regressions came direct from your changes? I suspect that you simply triggered a memory corruption, especially because the behavior at the kvm-testbot, but not at the vmware-testbot changed...
Best regards, Michael Fritscher
Author: ekohl Date: Fri May 17 17:52:43 2013 New Revision: 59026
URL: http://svn.reactos.org/svn/reactos?rev=59026&view=rev Log: [FASTFAT] Reverted revisions 59023, 59022 and 58976.
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/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] Fri May 17 17:52:43 2013 @@ -426,7 +426,6 @@ BOOLEAN Dots; UNICODE_STRING FileNameU; UNICODE_STRING PathNameU;
ULONG Attributes;
/* Unpack the various parameters. */ Stack = IoGetCurrentIrpStackLocation (Irp);
@@ -437,9 +436,6 @@ FileObject = Stack->FileObject; DeviceExt = DeviceObject->DeviceExtension;
- Attributes = Stack->Parameters.Create.FileAttributes;
- Attributes &= (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE);
- /* Check their validity. */ if (RequestedOptions & FILE_DIRECTORY_FILE && RequestedDisposition == FILE_SUPERSEDE)
@@ -548,9 +544,11 @@ RequestedDisposition == FILE_OVERWRITE_IF || RequestedDisposition == FILE_SUPERSEDE) {
ULONG Attributes;Attributes = Stack->Parameters.Create.FileAttributes &~FILE_ATTRIBUTE_NORMAL; vfatSplitPathName(&PathNameU, NULL, &FileNameU); Status = VfatAddEntry (DeviceExt, &FileNameU, &pFcb, ParentFcb, RequestedOptions,
(UCHAR)(Attributes | FILE_ATTRIBUTE_ARCHIVE));
(UCHAR)(Attributes & FILE_ATTRIBUTE_VALID_FLAGS)); vfatReleaseFCB (DeviceExt, ParentFcb); if (NT_SUCCESS (Status)) {@@ -690,12 +688,6 @@ RequestedDisposition == FILE_SUPERSEDE) { ExAcquireResourceExclusiveLite(&(pFcb->MainResource), TRUE);
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, DeviceExt,