Index: blockdev.c =================================================================== --- drivers/filesystems/fastfat/blockdev.c (revision 63837) +++ drivers/filesystems/fastfat/blockdev.c (working copy) @@ -98,8 +98,8 @@ &IoStatus); if (Irp == NULL) { - DPRINT("IoBuildSynchronousFsdRequest failed\n"); - return STATUS_UNSUCCESSFUL; + DPRINT1("IoBuildSynchronousFsdRequest failed\n"); + return STATUS_INSUFFICIENT_RESOURCES; } if (Override) @@ -173,8 +173,8 @@ Irp = IoAllocateIrp(IrpContext->DeviceExt->StorageDevice->StackSize, TRUE); if (Irp == NULL) { - DPRINT("IoAllocateIrp failed\n"); - return STATUS_UNSUCCESSFUL; + DPRINT1("IoAllocateIrp failed\n"); + return STATUS_INSUFFICIENT_RESOURCES; } Irp->UserIosb = NULL; @@ -193,9 +193,9 @@ if (!IoAllocateMdl(Buffer, ReadLength, FALSE, FALSE, Irp)) { - DPRINT("IoAllocateMdl failed\n"); + DPRINT1("IoAllocateMdl failed\n"); IoFreeIrp(Irp); - return STATUS_UNSUCCESSFUL; + return STATUS_INSUFFICIENT_RESOURCES; } IoBuildPartialMdl(IrpContext->Irp->MdlAddress, Irp->MdlAddress, Buffer, ReadLength); @@ -272,8 +272,8 @@ Irp = IoAllocateIrp(IrpContext->DeviceExt->StorageDevice->StackSize, TRUE); if (Irp == NULL) { - DPRINT("IoAllocateIrp failed\n"); - return STATUS_UNSUCCESSFUL; + DPRINT1("IoAllocateIrp failed\n"); + return STATUS_INSUFFICIENT_RESOURCES; } Irp->UserIosb = NULL; @@ -292,9 +292,9 @@ if (!IoAllocateMdl(Buffer, WriteLength, FALSE, FALSE, Irp)) { - DPRINT("IoAllocateMdl failed\n"); + DPRINT1("IoAllocateMdl failed\n"); IoFreeIrp(Irp); - return STATUS_UNSUCCESSFUL; + return STATUS_INSUFFICIENT_RESOURCES; } IoBuildPartialMdl(IrpContext->Irp->MdlAddress, Irp->MdlAddress, Buffer, WriteLength); Index: create.c =================================================================== --- drivers/filesystems/fastfat/create.c (revision 63837) +++ drivers/filesystems/fastfat/create.c (working copy) @@ -257,7 +257,7 @@ else { DPRINT("FCB not found for %wZ\n", &PathNameU); - Status = STATUS_UNSUCCESSFUL; + Status = STATUS_NOT_FOUND; } vfatReleaseFCB(DeviceExt, rcFcb); ExFreePool(PathNameBuffer); Index: dirwr.c =================================================================== --- drivers/filesystems/fastfat/dirwr.c (revision 63837) +++ drivers/filesystems/fastfat/dirwr.c (working copy) @@ -277,8 +277,9 @@ } if (i == 100) /* FIXME : what to do after this ? */ { + DPRINT1("FindFile didn't find stuff\n"); ExFreePoolWithTag(Buffer, TAG_VFAT); - return STATUS_UNSUCCESSFUL; + return STATUS_NOT_FOUND; } IsNameLegal = RtlIsNameLegalDOS8Dot3(&DirContext.ShortNameU, &NameA, &SpacesFound); aName[NameA.Length]=0; @@ -450,6 +451,7 @@ if (!CcPinRead(ParentFcb->FileObject, &FileOffset, nbSlots * sizeof(FAT_DIR_ENTRY), TRUE, &Context, (PVOID*)&pFatEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, nbSlots * sizeof(FAT_DIR_ENTRY)); ExFreePoolWithTag(Buffer, TAG_VFAT); return STATUS_UNSUCCESSFUL; } @@ -468,6 +470,7 @@ if (!CcPinRead(ParentFcb->FileObject, &FileOffset, size, TRUE, &Context, (PVOID*)&pFatEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, size); ExFreePoolWithTag(Buffer, TAG_VFAT); return STATUS_UNSUCCESSFUL; } @@ -479,6 +482,7 @@ nbSlots * sizeof(FAT_DIR_ENTRY) - size, TRUE, &Context, (PVOID*)&pFatEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, nbSlots * sizeof(FAT_DIR_ENTRY) - size); ExFreePoolWithTag(Buffer, TAG_VFAT); return STATUS_UNSUCCESSFUL; } @@ -507,6 +511,7 @@ if (!CcPinRead((*Fcb)->FileObject, &FileOffset, DeviceExt->FatInfo.BytesPerCluster, TRUE, &Context, (PVOID*)&pFatEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, DeviceExt->FatInfo.BytesPerCluster); ExFreePoolWithTag(Buffer, TAG_VFAT); return STATUS_UNSUCCESSFUL; } @@ -610,6 +615,7 @@ if (!CcPinRead(ParentFcb->FileObject, &FileOffset, sizeof(FATX_DIR_ENTRY), TRUE, &Context, (PVOID*)&pFatXDirEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, sizeof(FATX_DIR_ENTRY)); return STATUS_UNSUCCESSFUL; } RtlCopyMemory(pFatXDirEntry, &DirContext.DirEntry.FatX, sizeof(FATX_DIR_ENTRY)); @@ -670,6 +676,7 @@ if (!CcPinRead(pFcb->parentFcb->FileObject, &Offset, sizeof(FAT_DIR_ENTRY), TRUE, &Context, (PVOID*)&pDirEntry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, sizeof(FAT_DIR_ENTRY)); return STATUS_UNSUCCESSFUL; } } Index: fat.c =================================================================== --- drivers/filesystems/fastfat/fat.c (revision 63837) +++ drivers/filesystems/fastfat/fat.c (working copy) @@ -42,6 +42,7 @@ Offset.QuadPart = ROUND_DOWN(FATOffset, ChunkSize); if (!CcMapData(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { + DPRINT1("CcMapData(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } @@ -74,7 +75,8 @@ Offset.QuadPart = ROUND_DOWN(FATOffset, ChunkSize); if (!CcMapData(DeviceExt->FATFileObject, &Offset, ChunkSize, MAP_WAIT, &Context, &BaseAddress)) { - return STATUS_UNSUCCESSFUL; + DPRINT1("CcMapData(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, ChunkSize); + return STATUS_UNSUCCESSFUL; } CurrentCluster = *((PUSHORT)((char*)BaseAddress + (FATOffset % ChunkSize))); @@ -105,6 +107,7 @@ Offset.QuadPart = 0; if (!CcMapData(DeviceExt->FATFileObject, &Offset, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector, 1, &Context, &BaseAddress)) { + DPRINT1("CcMapData(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector); return STATUS_UNSUCCESSFUL; } @@ -159,7 +162,7 @@ Offset.QuadPart = ROUND_DOWN(i * 2, ChunkSize); if (!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { - DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize); + DPRINT1("CcMapData(Offset %I64x, Length %u) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } @@ -218,7 +221,7 @@ Offset.QuadPart = 0; if (!CcPinRead(DeviceExt->FATFileObject, &Offset, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector, 1, &Context, &BaseAddress)) { - DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector); + DPRINT1("CcMapData(Offset %I64x, Length %u) failed\n", Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector); return STATUS_UNSUCCESSFUL; } @@ -288,7 +291,7 @@ Offset.QuadPart = ROUND_DOWN(i * 4, ChunkSize); if (!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { - DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize); + DPRINT1("CcMapData(Offset %I64x, Length %u) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } Block = (PULONG)((ULONG_PTR)BaseAddress + (i * 4) % ChunkSize); @@ -341,6 +344,7 @@ Offset.QuadPart = 0; if (!CcMapData(DeviceExt->FATFileObject, &Offset, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector, 1, &Context, &BaseAddress)) { + DPRINT1("CcMapData(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector); return STATUS_UNSUCCESSFUL; } @@ -396,6 +400,7 @@ Offset.QuadPart = ROUND_DOWN(i * 2, ChunkSize); if (!CcMapData(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { + DPRINT1("CcMapData(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } Block = (PUSHORT)((ULONG_PTR)BaseAddress + (i * 2) % ChunkSize); @@ -446,7 +451,7 @@ Offset.QuadPart = ROUND_DOWN(i * 4, ChunkSize); if (!CcMapData(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { - DPRINT1("CcMapData(Offset %x, Length %u) failed\n", (ULONG)Offset.QuadPart, ChunkSize); + DPRINT1("CcMapData(Offset %I64x, Length %u) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } Block = (PULONG)((ULONG_PTR)BaseAddress + (i * 4) % ChunkSize); @@ -512,6 +517,7 @@ Offset.QuadPart = 0; if (!CcPinRead(DeviceExt->FATFileObject, &Offset, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector, 1, &Context, &BaseAddress)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, DeviceExt->FatInfo.FATSectors * DeviceExt->FatInfo.BytesPerSector); return STATUS_UNSUCCESSFUL; } CBlock = (PUCHAR)BaseAddress; @@ -561,6 +567,7 @@ Offset.QuadPart = ROUND_DOWN(FATOffset, ChunkSize); if (!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } @@ -597,6 +604,7 @@ Offset.QuadPart = ROUND_DOWN(FATOffset, ChunkSize); if (!CcPinRead(DeviceExt->FATFileObject, &Offset, ChunkSize, 1, &Context, &BaseAddress)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", Offset.QuadPart, ChunkSize); return STATUS_UNSUCCESSFUL; } Index: rw.c =================================================================== --- drivers/filesystems/fastfat/rw.c (revision 63928) +++ drivers/filesystems/fastfat/rw.c (working copy) @@ -310,6 +310,7 @@ { if (Length > 0) { + DPRINT1("Successful read with status %lx has length %lu -> fail\n", Status, Length); Status = STATUS_UNSUCCESSFUL; } else @@ -525,6 +526,7 @@ { if (Length > 0) { + DPRINT1("Successful write with status %lx has length %lu -> fail\n", Status, Length); Status = STATUS_UNSUCCESSFUL; } else Index: volume.c =================================================================== --- drivers/filesystems/fastfat/volume.c (revision 63837) +++ drivers/filesystems/fastfat/volume.c (working copy) @@ -196,7 +196,7 @@ DIR_ENTRY VolumeLabelDirEntry; ULONG VolumeLabelDirIndex; ULONG LabelLen; - NTSTATUS Status = STATUS_UNSUCCESSFUL; + NTSTATUS Status; OEM_STRING StringO; UNICODE_STRING StringW; CHAR cString[43]; @@ -317,6 +317,7 @@ if (!CcPinRead(pRootFcb->FileObject, &FileOffset, SizeDirEntry, TRUE, &Context, (PVOID*)&Entry)) { + DPRINT1("CcPinRead(Offset %I64x, Length %lu) failed\n", FileOffset.QuadPart, SizeDirEntry); Status = STATUS_UNSUCCESSFUL; } else