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/fastfa…
 ==============================================================================
 --- 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,