[fastfat_new]
authorAleksey Bragin <aleksey@reactos.org>
Fri, 2 Oct 2009 17:07:37 +0000 (17:07 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Fri, 2 Oct 2009 17:07:37 +0000 (17:07 +0000)
- Don't leak VCB lock, prevents hang when trying to open another file.

svn path=/trunk/; revision=43257

reactos/drivers/filesystems/fastfat_new/create.c

index 9a0b947..85d2b5a 100644 (file)
@@ -527,6 +527,9 @@ FatiCreate(IN PFAT_IRP_CONTEXT IrpContext,
            since we're opening files here */
         if (EndBackslash)
         {
+            /* Unlock VCB */
+            FatReleaseVcb(IrpContext, Vcb);
+
             /* Complete the request */
             Iosb.Status = STATUS_OBJECT_NAME_INVALID;
             FatCompleteRequest(IrpContext, Irp, Iosb.Status);
@@ -552,6 +555,9 @@ FatiCreate(IN PFAT_IRP_CONTEXT IrpContext,
         Irp->IoStatus.Information = Iosb.Information;
     }
 
+    /* Unlock VCB */
+    FatReleaseVcb(IrpContext, Vcb);
+
     /* Complete the request */
     FatCompleteRequest(IrpContext, Irp, Iosb.Status);
 
@@ -564,7 +570,6 @@ FatCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp)
 {
     PFAT_IRP_CONTEXT IrpContext;
     NTSTATUS Status;
-    //PVOLUME_DEVICE_OBJECT VolumeDO = (PVOLUME_DEVICE_OBJECT)DeviceObject;
 
     DPRINT1("FatCreate()\n");