[FASTFAT_NEW]
authorAleksey Bragin <aleksey@reactos.org>
Mon, 27 Dec 2010 18:14:24 +0000 (18:14 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Mon, 27 Dec 2010 18:14:24 +0000 (18:14 +0000)
- Some fixes to the previous commit.

svn path=/trunk/; revision=50168

reactos/drivers/filesystems/fastfat_new/create.c

index de84dc9..6f72a0b 100644 (file)
@@ -1106,6 +1106,9 @@ FatiCreate(IN PFAT_IRP_CONTEXT IrpContext,
                 Status = STATUS_SUCCESS;
             else
                 Status = STATUS_UNMAPPABLE_CHARACTER;
                 Status = STATUS_SUCCESS;
             else
                 Status = STATUS_UNMAPPABLE_CHARACTER;
+
+            /* First run init is done */
+            FirstRun = FALSE;
         }
         else
         {
         }
         else
         {
@@ -1158,8 +1161,9 @@ FatiCreate(IN PFAT_IRP_CONTEXT IrpContext,
         UNIMPLEMENTED;
     }
 
         UNIMPLEMENTED;
     }
 
-    /* Check, if path is a directory or a file */
+    /* Check, if path is a existing directory or file */
     if (FfError == FF_ERR_FILE_OBJECT_IS_A_DIR ||
     if (FfError == FF_ERR_FILE_OBJECT_IS_A_DIR ||
+        FfError == FF_ERR_FILE_ALREADY_OPEN ||
         FfError == FF_ERR_NONE)
     {
         if (FfError == FF_ERR_FILE_OBJECT_IS_A_DIR)
         FfError == FF_ERR_NONE)
     {
         if (FfError == FF_ERR_FILE_OBJECT_IS_A_DIR)
@@ -1266,7 +1270,18 @@ FatiCreate(IN PFAT_IRP_CONTEXT IrpContext,
     }
 
     /* We come here only in the case when a new file is created */
     }
 
     /* We come here only in the case when a new file is created */
-    ASSERT(FALSE);
+    //ASSERT(FALSE);
+    DPRINT1("TODO: Create a new file/directory, called '%wZ'\n", &IrpSp->FileObject->FileName);
+
+    Status = STATUS_NOT_IMPLEMENTED;
+
+    /* Unlock VCB */
+    FatReleaseVcb(IrpContext, Vcb);
+
+    /* Complete the request */
+    FatCompleteRequest(IrpContext, Irp, Status);
+
+    return Status;
 }
 
 NTSTATUS
 }
 
 NTSTATUS