mirror of
https://github.com/reactos/reactos.git
synced 2025-01-11 16:51:06 +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:
parent
9dbd8d4fbe
commit
45f26cb114
2 changed files with 10 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue