Author: pschweitzer
Date: Thu Jul 27 09:37:10 2017
New Revision: 75420

URL: http://svn.reactos.org/svn/reactos?rev=75420&view=rev
Log:
[RDBSS]
- Misc fixes with DPRINTS

[RXCE]
- In RxFinalizeSrvOpen, always dereference the FCB, it's always referenced on 
SRV_OPEN creation
- Misc fixes with DPRINTS

With that revision and r75419, I'm now able to mount a NFS share, browse it, 
read a file from it, and unmount it.
We're OK regarding references counting!

CORE-8204
CORE-11327
CORE-13581

Modified:
    trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c
    trunk/reactos/sdk/lib/drivers/rxce/rxce.c

Modified: trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c?rev=75420&r1=75419&r2=75420&view=diff
==============================================================================
--- trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c      [iso-8859-1] (original)
+++ trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c      [iso-8859-1] Thu Jul 27 
09:37:10 2017
@@ -5664,6 +5664,11 @@
     /* If FCB was not found or is not covering full path, prepare for more 
work */
     if (Fcb == NULL || Fcb->FcbTableEntry.Path.Length != NetRootName->Length)
     {
+        if (Fcb != NULL)
+        {
+            DPRINT1("FCB was found and it's not covering the whole path: %wZ - 
%wZ\n", &Fcb->FcbTableEntry.Path, NetRootName);
+        }
+
         if (!AcquiredExclusive)
         {
             RxReleaseFcbTableLock(&NetRoot->FcbTable);
@@ -6354,7 +6359,7 @@
         RxContext->LastExecutionThread = PsGetCurrentThread();
         SetFlag(RxContext->Flags, (RX_CONTEXT_FLAG_IN_FSP | 
RX_CONTEXT_FLAG_WAIT));
 
-        DPRINT("Dispatch: MN: %d, Ctxt: %p, IRP: %p, THRD: %lx #%lx", 
RxContext->MinorFunction,
+        DPRINT("Dispatch: MN: %d, Ctxt: %p, IRP: %p, THRD: %lx #%lx\n", 
RxContext->MinorFunction,
                RxContext, RxContext->CurrentIrp, 
RxContext->LastExecutionThread,
                RxContext->SerialNumber);
 

Modified: trunk/reactos/sdk/lib/drivers/rxce/rxce.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/rxce/rxce.c?rev=75420&r1=75419&r2=75420&view=diff
==============================================================================
--- trunk/reactos/sdk/lib/drivers/rxce/rxce.c   [iso-8859-1] (original)
+++ trunk/reactos/sdk/lib/drivers/rxce/rxce.c   [iso-8859-1] Thu Jul 27 
09:37:10 2017
@@ -412,6 +412,8 @@
         FsRtlSetupAdvancedHeader(Fcb, &NonPagedFcb->AdvancedFcbHeaderMutex);
     }
 
+    DPRINT("Allocated %p\n", Buffer);
+
     return Buffer;
 }
 
@@ -3158,17 +3160,18 @@
         RemoveEntryList(&ThisSrvOpen->SrvOpenQLinks);
     }
 
-    /* If enclosed allocation, mark the memory zone free and dereference FCB */
+    /* If enclosed allocation, mark the memory zone free */
     if (BooleanFlagOn(ThisSrvOpen->Flags, SRVOPEN_FLAG_ENCLOSED_ALLOCATED))
     {
         ClearFlag(Fcb->FcbState, FCB_STATE_SRVOPEN_USED);
-        RxDereferenceNetFcb(Fcb);
     }
     /* Otherwise, free the memory */
     else
     {
         RxFreeFcbObject(ThisSrvOpen);
     }
+
+    RxDereferenceNetFcb(Fcb);
 
     return TRUE;
 }
@@ -4088,6 +4091,8 @@
     PVOID Object)
 {
     PAGED_CODE();
+
+    DPRINT("Freeing %p\n", Object);
 
     /* If that's a FOBX/SRV_OPEN, nothing to do, just free it */
     if (NodeType(Object) == RDBSS_NTC_FOBX || NodeType(Object) == 
RDBSS_NTC_SRVOPEN)


Reply via email to