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/rd... ============================================================================== --- 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... ============================================================================== --- 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)