Io{,Synchronous}Page{Read,Write}(): Remove handling of 'Irp->UserIosb'
[reactos.git] / ntoskrnl / io / page.c
index c3e5f3e..a485ce3 100644 (file)
@@ -19,6 +19,8 @@
 
 /* FUNCTIONS *****************************************************************/
 
+#ifndef LIBCAPTIVE
+
 NTSTATUS STDCALL 
 IoPageWrite(PFILE_OBJECT FileObject,
            PMDL Mdl,
@@ -53,6 +55,7 @@ IoPageWrite(PFILE_OBJECT FileObject,
    return(Status);
 }
 
+#endif /* LIBCAPTIVE */
 
 NTSTATUS STDCALL 
 IoPageRead(PFILE_OBJECT FileObject,
@@ -79,7 +82,15 @@ IoPageRead(PFILE_OBJECT FileObject,
    {
       return (STATUS_INSUFFICIENT_RESOURCES);
    }
-   Irp->Flags = IRP_NOCACHE|IRP_PAGING_IO;
+   Irp->Flags = IRP_NOCACHE
+#ifndef LIBCAPTIVE
+         |IRP_PAGING_IO;
+#else /* !LIBCAPTIVE */
+/* IRP_SYNCHRONOUS_PAGING_IO: We need to prevent STATUS_PENDING
+ * IRP_PAGING_IO: We need to pass check in W32 filesystem as we are FO_CLEANUP_COMPLETE (why?)
+ */
+         |IRP_PAGING_IO|IRP_SYNCHRONOUS_PAGING_IO;
+#endif /* !LIBCAPTIVE */
    StackPtr = IoGetNextIrpStackLocation(Irp);
    StackPtr->FileObject = FileObject;
    DPRINT("Before IoCallDriver\n");
@@ -89,7 +100,6 @@ IoPageRead(PFILE_OBJECT FileObject,
    return(Status);
 }
 
-
 NTSTATUS STDCALL 
 IoSynchronousPageWrite (PFILE_OBJECT FileObject,
                        PMDL Mdl,
@@ -101,8 +111,8 @@ IoSynchronousPageWrite (PFILE_OBJECT FileObject,
    PIO_STACK_LOCATION StackPtr;
    NTSTATUS Status;
    
-   DPRINT("IoSynchronousPageWrite(FileObject %x, Mdl %x)\n",
-         FileObject, Mdl);
+   DPRINT("IoSynchronousPageWrite(FileObject %x, Mdl %x, StatusBlock %x)\n",
+         FileObject, Mdl, StatusBlock);
    
    Irp = IoBuildSynchronousFsdRequestWithMdl(IRP_MJ_WRITE,
                                             FileObject->DeviceObject,
@@ -124,5 +134,4 @@ IoSynchronousPageWrite (PFILE_OBJECT FileObject,
    return(Status);
 }
 
-
 /* EOF */