diff --git a/reactos/drivers/filesystems/cdfs/cdfs.h b/reactos/drivers/filesystems/cdfs/cdfs.h index eca0a4b27f1..cef813cc52b 100644 --- a/reactos/drivers/filesystems/cdfs/cdfs.h +++ b/reactos/drivers/filesystems/cdfs/cdfs.h @@ -180,6 +180,7 @@ typedef struct _FCB { FSRTL_COMMON_FCB_HEADER RFCB; SECTION_OBJECT_POINTERS SectionObjectPointers; + ERESOURCE PagingIoResource; PFILE_OBJECT FileObject; PDEVICE_EXTENSION DevExt; diff --git a/reactos/drivers/filesystems/cdfs/cdfs.rbuild b/reactos/drivers/filesystems/cdfs/cdfs.rbuild index 05b6e0bc5c9..24382282c22 100644 --- a/reactos/drivers/filesystems/cdfs/cdfs.rbuild +++ b/reactos/drivers/filesystems/cdfs/cdfs.rbuild @@ -1,7 +1,7 @@ . - + ntoskrnl hal cdfs.c diff --git a/reactos/drivers/filesystems/cdfs/fcb.c b/reactos/drivers/filesystems/cdfs/fcb.c index 7e6b2e0aa14..c56e52382fe 100644 --- a/reactos/drivers/filesystems/cdfs/fcb.c +++ b/reactos/drivers/filesystems/cdfs/fcb.c @@ -88,7 +88,11 @@ CdfsCreateFCB(PCWSTR FileName) } } + ExInitializeResourceLite(&Fcb->PagingIoResource); ExInitializeResourceLite(&Fcb->MainResource); + Fcb->RFCB.PagingIoResource = &Fcb->PagingIoResource; + Fcb->RFCB.Resource = &Fcb->MainResource; + Fcb->RFCB.IsFastIoPossible = FastIoIsNotPossible; return(Fcb); } @@ -97,6 +101,7 @@ CdfsCreateFCB(PCWSTR FileName) VOID CdfsDestroyFCB(PFCB Fcb) { + ExDeleteResourceLite(&Fcb->PagingIoResource); ExDeleteResourceLite(&Fcb->MainResource); ExFreePool(Fcb);