mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
- vfat now checks what CcCopyRead() returned, and return that value to the caller in case of failure
- Added a check for successful call to ReadCacheSegmentChain() in CC See issue #1855 for more details. svn path=/trunk/; revision=25073
This commit is contained in:
@@ -689,7 +689,7 @@ VfatRead(PVFAT_IRP_CONTEXT IrpContext)
|
||||
(BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT), Buffer,
|
||||
&IrpContext->Irp->IoStatus))
|
||||
{
|
||||
Status = STATUS_PENDING;
|
||||
Status = IrpContext->Irp->IoStatus.Status;//STATUS_PENDING;
|
||||
goto ByeBye;
|
||||
}
|
||||
CHECKPOINT;
|
||||
|
||||
@@ -382,6 +382,15 @@ CcCopyRead (IN PFILE_OBJECT FileObject,
|
||||
{
|
||||
TempLength = min(max(Bcb->CacheSegmentSize, MAX_RW_LENGTH), Length);
|
||||
ReadCacheSegmentChain(Bcb, ReadOffset, TempLength, Buffer);
|
||||
Status = ReadCacheSegmentChain(Bcb, ReadOffset, TempLength, Buffer);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
IoStatus->Information = 0;
|
||||
IoStatus->Status = Status;
|
||||
DPRINT1("ReadCacheSegmentChain failed, Status %x\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ReadLength += TempLength;
|
||||
Length -= TempLength;
|
||||
ReadOffset += TempLength;
|
||||
|
||||
Reference in New Issue
Block a user