[EXT2]
[reactos.git] / reactos / drivers / filesystems / ext2 / src / cmcb.c
index deafda2..2c0d187 100644 (file)
@@ -38,8 +38,7 @@ Ext2AcquireForLazyWrite (
     DEBUG(CMCB_DEBUG_LEVEL, ("Ext2AcquireForLazyWrite: %s %s Fcb=%p\n",
                              Ext2GetCurrentProcessName(), "ACQUIRE_FOR_LAZY_WRITE", Fcb));
 #endif
-    if (!ExAcquireResourceSharedLite(
-                &Fcb->PagingIoResource, Wait)) {
+    if (!ExAcquireResourceExclusiveLite(Fcb->Header.Resource, Wait)) {
         return FALSE;
     }
 
@@ -47,7 +46,6 @@ Ext2AcquireForLazyWrite (
     Fcb->LazyWriterThread = PsGetCurrentThread();
 
     ASSERT(IoGetTopLevelIrp() == NULL);
-
     IoSetTopLevelIrp((PIRP)FSRTL_CACHE_TOP_LEVEL_IRP);
 
     return TRUE;
@@ -59,9 +57,7 @@ Ext2ReleaseFromLazyWrite (IN PVOID Context)
     //
     // On a readonly filesystem this function still has to exist but it
     // doesn't need to do anything.
-    PEXT2_FCB Fcb;
-
-    Fcb = (PEXT2_FCB) Context;
+    PEXT2_FCB Fcb = (PEXT2_FCB) Context;
 
     ASSERT(Fcb != NULL);
 
@@ -74,7 +70,7 @@ Ext2ReleaseFromLazyWrite (IN PVOID Context)
     ASSERT(Fcb->LazyWriterThread == PsGetCurrentThread());
     Fcb->LazyWriterThread = NULL;
 
-    ExReleaseResourceLite(&Fcb->PagingIoResource);
+    ExReleaseResourceLite(Fcb->Header.Resource);
 
     ASSERT(IoGetTopLevelIrp() == (PIRP)FSRTL_CACHE_TOP_LEVEL_IRP);
     IoSetTopLevelIrp( NULL );
@@ -84,24 +80,18 @@ BOOLEAN NTAPI
 Ext2AcquireForReadAhead (IN PVOID    Context,
                          IN BOOLEAN  Wait)
 {
-    PEXT2_FCB    Fcb;
-
-    Fcb = (PEXT2_FCB) Context;
+    PEXT2_FCB    Fcb = (PEXT2_FCB) Context;
 
     ASSERT(Fcb != NULL);
-
     ASSERT((Fcb->Identifier.Type == EXT2FCB) &&
            (Fcb->Identifier.Size == sizeof(EXT2_FCB)));
 
     DEBUG(CMCB_DEBUG_LEVEL, ("Ext2AcquireForReadAhead: i=%xh Fcb=%p\n",
                              Fcb->Mcb->Inode.i_ino, Fcb));
 
-    if (!ExAcquireResourceSharedLite(
-                &Fcb->MainResource, Wait  ))
+    if (!ExAcquireResourceSharedLite(Fcb->Header.Resource, Wait))
         return FALSE;
-
     ASSERT(IoGetTopLevelIrp() == NULL);
-
     IoSetTopLevelIrp((PIRP)FSRTL_CACHE_TOP_LEVEL_IRP);
 
     return TRUE;
@@ -110,9 +100,7 @@ Ext2AcquireForReadAhead (IN PVOID    Context,
 VOID NTAPI
 Ext2ReleaseFromReadAhead (IN PVOID Context)
 {
-    PEXT2_FCB Fcb;
-
-    Fcb = (PEXT2_FCB) Context;
+    PEXT2_FCB Fcb = (PEXT2_FCB) Context;
 
     ASSERT(Fcb != NULL);
 
@@ -122,9 +110,8 @@ Ext2ReleaseFromReadAhead (IN PVOID Context)
     DEBUG(CMCB_DEBUG_LEVEL, ("Ext2ReleaseFromReadAhead: i=%xh Fcb=%p\n",
                              Fcb->Mcb->Inode.i_ino, Fcb));
 
-    IoSetTopLevelIrp( NULL );
-
-    ExReleaseResourceLite(&Fcb->MainResource);
+    IoSetTopLevelIrp(NULL);
+    ExReleaseResourceLite(Fcb->Header.Resource);
 }
 
 BOOLEAN NTAPI
@@ -149,120 +136,3 @@ Ext2NoOpRelease (
     return;
 }
 
-
-VOID NTAPI
-Ext2AcquireForCreateSection (
-    IN PFILE_OBJECT FileObject
-)
-
-{
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    if (Fcb->Header.Resource != NULL) {
-        ExAcquireResourceExclusiveLite(Fcb->Header.Resource, TRUE);
-    }
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2AcquireForCreateSection:  Fcb=%p\n", Fcb));
-}
-
-VOID NTAPI
-Ext2ReleaseForCreateSection (
-    IN PFILE_OBJECT FileObject
-)
-
-{
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2ReleaseForCreateSection:  Fcb=%p\n", Fcb));
-
-    if (Fcb->Header.Resource != NULL) {
-        ExReleaseResourceLite(Fcb->Header.Resource);
-    }
-}
-
-
-NTSTATUS NTAPI
-Ext2AcquireFileForModWrite (
-    IN PFILE_OBJECT FileObject,
-    IN PLARGE_INTEGER EndingOffset,
-    OUT PERESOURCE *ResourceToRelease,
-    IN PDEVICE_OBJECT DeviceObject
-)
-
-{
-    BOOLEAN ResourceAcquired = FALSE;
-
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    if (Fcb->Header.PagingIoResource != NULL) {
-        *ResourceToRelease = Fcb->Header.PagingIoResource;
-    } else {
-        *ResourceToRelease = Fcb->Header.Resource;
-    }
-
-    ResourceAcquired = ExAcquireResourceSharedLite(*ResourceToRelease, FALSE);
-    if (!ResourceAcquired) {
-        *ResourceToRelease = NULL;
-    }
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2AcquireFileForModWrite:  Fcb=%p Acquired=%d\n",
-                             Fcb, ResourceAcquired));
-
-    return (ResourceAcquired ? STATUS_SUCCESS : STATUS_CANT_WAIT);
-}
-
-NTSTATUS NTAPI
-Ext2ReleaseFileForModWrite (
-    IN PFILE_OBJECT FileObject,
-    IN PERESOURCE ResourceToRelease,
-    IN PDEVICE_OBJECT DeviceObject
-)
-{
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2ReleaseFileForModWrite: Fcb=%p\n", Fcb));
-
-    if (ResourceToRelease != NULL) {
-        ASSERT(ResourceToRelease == Fcb->Header.PagingIoResource ||
-               ResourceToRelease == Fcb->Header.Resource);
-        ExReleaseResourceLite(ResourceToRelease);
-    } else {
-        DbgBreak();
-    }
-
-    return STATUS_SUCCESS;
-}
-
-NTSTATUS NTAPI
-Ext2AcquireFileForCcFlush (
-    IN PFILE_OBJECT FileObject,
-    IN PDEVICE_OBJECT DeviceObject
-)
-{
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    if (Fcb->Header.PagingIoResource != NULL) {
-        ExAcquireResourceSharedLite(Fcb->Header.PagingIoResource, TRUE);
-    }
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2AcquireFileForCcFlush: Fcb=%p\n", Fcb));
-
-    return STATUS_SUCCESS;
-}
-
-NTSTATUS NTAPI
-Ext2ReleaseFileForCcFlush (
-    IN PFILE_OBJECT FileObject,
-    IN PDEVICE_OBJECT DeviceObject
-)
-{
-    PEXT2_FCB Fcb = FileObject->FsContext;
-
-    DEBUG(CMCB_DEBUG_LEVEL, ("Ext2ReleaseFileForCcFlush: Fcb=%p\n", Fcb));
-
-    if (Fcb->Header.PagingIoResource != NULL) {
-        ExReleaseResourceLite(Fcb->Header.PagingIoResource);
-    }
-
-    return STATUS_SUCCESS;
-}