branch update for HEAD-2003091401
[reactos.git] / drivers / fs / vfat / finfo.c
index d8f48ac..9fc547f 100644 (file)
@@ -110,13 +110,13 @@ VfatSetBasicInformation(PFILE_OBJECT FileObject,
                            &(FCB->entry.UpdateDate),
                            &(FCB->entry.UpdateTime));
 
-  FCB->entry.Attrib = (FCB->entry.Attrib &
+  FCB->entry.Attrib = (unsigned char)((FCB->entry.Attrib &
                        (FILE_ATTRIBUTE_DIRECTORY | 0x48)) |
                       (BasicInfo->FileAttributes &
                        (FILE_ATTRIBUTE_ARCHIVE |
                         FILE_ATTRIBUTE_SYSTEM |
                         FILE_ATTRIBUTE_HIDDEN |
-                        FILE_ATTRIBUTE_READONLY));
+                        FILE_ATTRIBUTE_READONLY)));
   DPRINT("Setting attributes 0x%02x\n", FCB->entry.Attrib);
 
   VfatUpdateEntry(DeviceExt, FileObject);
@@ -193,13 +193,13 @@ VfatSetDispositionInformation(PFILE_OBJECT FileObject,
   }
   if (DispositionInfo->DoDeleteFile)
   {
-    if (MmFlushImageSection (FileObject->SectionObjectPointers, MmFlushForDelete))
+    if (MmFlushImageSection (FileObject->SectionObjectPointer, MmFlushForDelete))
     {
       KeAcquireSpinLock (&DeviceExt->FcbListLock, &oldIrql);
       count = FCB->RefCount;
       if (FCB->RefCount > 1)
       {
-       DPRINT1("%d %x\n", FCB->RefCount, CcGetFileObjectFromSectionPtrs(FileObject->SectionObjectPointers));
+       DPRINT1("%d %x\n", FCB->RefCount, CcGetFileObjectFromSectionPtrs(FileObject->SectionObjectPointer));
         Status = STATUS_ACCESS_DENIED;
       }
       else
@@ -393,7 +393,7 @@ VOID UpdateFileSize(PFILE_OBJECT FileObject, PVFATFCB Fcb, ULONG Size, ULONG Clu
    }
    else
    {
-      Fcb->RFCB.AllocationSize.QuadPart = 0LL;
+      Fcb->RFCB.AllocationSize.QuadPart = (LONGLONG)0;
    }
    if (!vfatFCBIsDirectory(Fcb))
    {
@@ -402,7 +402,7 @@ VOID UpdateFileSize(PFILE_OBJECT FileObject, PVFATFCB Fcb, ULONG Size, ULONG Clu
    Fcb->RFCB.FileSize.QuadPart = Size;
    Fcb->RFCB.ValidDataLength.QuadPart = Size;
 
-   if (FileObject->SectionObjectPointers->SharedCacheMap != NULL)
+   if (FileObject->SectionObjectPointer->SharedCacheMap != NULL)
    {
       CcSetFileSizes(FileObject, (PCC_FILE_SIZES)&Fcb->RFCB.AllocationSize);
    }
@@ -416,7 +416,6 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
 {
   ULONG OldSize;
   ULONG Cluster, FirstCluster;
-  ULONG Offset;
   NTSTATUS Status;
 
   ULONG ClusterSize = DeviceExt->FatInfo.BytesPerCluster;
@@ -441,7 +440,7 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
   {
     if (FirstCluster == 0)
     {
-      Status = NextCluster (DeviceExt, Fcb, FirstCluster, &FirstCluster, TRUE);
+      Status = NextCluster (DeviceExt, FirstCluster, &FirstCluster, TRUE);
       if (!NT_SUCCESS(Status))
       {
        DPRINT1("NextCluster failed. Status = %x\n", Status);
@@ -451,7 +450,7 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
       {
          return STATUS_DISK_FULL;
       }
-      Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster, 
+      Status = OffsetToCluster(DeviceExt, FirstCluster, 
                 ROUND_DOWN(NewSize - 1, ClusterSize),
                  &NCluster, TRUE);
       if (NCluster == 0xffffffff || !NT_SUCCESS(Status))
@@ -461,35 +460,35 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
         Status = STATUS_SUCCESS;
          while (NT_SUCCESS(Status) && Cluster != 0xffffffff && Cluster > 1)
         {
-           Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+           Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
             WriteCluster (DeviceExt, Cluster, 0);
            Cluster = NCluster;
         }
         return STATUS_DISK_FULL;
       }
-      Fcb->entry.FirstCluster = (FirstCluster & 0x0000FFFF);
-      Fcb->entry.FirstClusterHigh = (FirstCluster & 0xFFFF0000) >> 16;
+      Fcb->entry.FirstCluster = (unsigned short)(FirstCluster & 0x0000FFFF);
+      Fcb->entry.FirstClusterHigh = (unsigned short)((FirstCluster & 0xFFFF0000) >> 16);
     }
     else
     {
-       Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster, 
+       Status = OffsetToCluster(DeviceExt, FirstCluster, 
                  Fcb->RFCB.AllocationSize.u.LowPart - ClusterSize,
                  &Cluster, FALSE);
        /* FIXME: Check status */
        /* Cluster points now to the last cluster within the chain */
-       Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster, 
+       Status = OffsetToCluster(DeviceExt, FirstCluster, 
                 ROUND_DOWN(NewSize - 1, ClusterSize),
                  &NCluster, TRUE);
        if (NCluster == 0xffffffff || !NT_SUCCESS(Status))
        {
          /* disk is full */
          NCluster = Cluster; 
-          Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+          Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
          WriteCluster(DeviceExt, Cluster, 0xffffffff);
          Cluster = NCluster;
           while (NT_SUCCESS(Status) && Cluster != 0xffffffff && Cluster > 1)
          {
-           Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+           Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
             WriteCluster (DeviceExt, Cluster, 0);
            Cluster = NCluster;
          }
@@ -503,12 +502,12 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
     UpdateFileSize(FileObject, Fcb, NewSize, ClusterSize);
     if (NewSize > 0)
     {
-      Status = OffsetToCluster(DeviceExt, Fcb, Cluster, 
+      Status = OffsetToCluster(DeviceExt, FirstCluster, 
                  ROUND_DOWN(NewSize - 1, ClusterSize),
                  &Cluster, FALSE);
 
       NCluster = Cluster;
-      Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+      Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
       WriteCluster(DeviceExt, Cluster, 0xffffffff);
       Cluster = NCluster;
     }
@@ -522,7 +521,7 @@ VfatSetAllocationSizeInformation(PFILE_OBJECT FileObject,
     }
     while (NT_SUCCESS(Status) && 0xffffffff != Cluster && Cluster > 1)
     {
-       Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+       Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
        WriteCluster (DeviceExt, Cluster, 0);
        Cluster = NCluster;
     }
@@ -560,7 +559,8 @@ NTSTATUS VfatQueryInformation(PVFAT_IRP_CONTEXT IrpContext)
 
   if (!(FCB->Flags & FCB_IS_PAGE_FILE))
   {
-     if (!ExAcquireResourceSharedLite(&FCB->MainResource, IrpContext->Flags & IRPCONTEXT_CANWAIT))
+     if (!ExAcquireResourceSharedLite(&FCB->MainResource,
+                                      (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
      {
         return VfatQueueRequest (IrpContext);
      }
@@ -660,16 +660,10 @@ NTSTATUS VfatSetInformation(PVFAT_IRP_CONTEXT IrpContext)
   DPRINT("FileInformationClass %d\n", FileInformationClass);
   DPRINT("SystemBuffer %x\n", SystemBuffer);
   
-  if (FCB->Flags & FCB_IS_PAGE_FILE)
-    {
-      if (!ExAcquireResourceExclusiveLite(&FCB->PagingIoResource, CanWait))
-       {
-         return(VfatQueueRequest (IrpContext));
-       }
-    }
-  else
+  if (!(FCB->Flags & FCB_IS_PAGE_FILE))
     {
-      if (!ExAcquireResourceExclusiveLite(&FCB->MainResource, CanWait))
+      if (!ExAcquireResourceExclusiveLite(&FCB->MainResource,
+                                          (BOOLEAN)CanWait))
        {
          return(VfatQueueRequest (IrpContext));
        }
@@ -707,11 +701,7 @@ NTSTATUS VfatSetInformation(PVFAT_IRP_CONTEXT IrpContext)
       RC = STATUS_NOT_SUPPORTED;
     }
 
-  if (FCB->Flags & FCB_IS_PAGE_FILE)
-  {
-     ExReleaseResourceLite(&FCB->PagingIoResource);
-  }
-  else
+  if (!(FCB->Flags & FCB_IS_PAGE_FILE))
   {
      ExReleaseResourceLite(&FCB->MainResource);
   }