Author: pschweitzer
Date: Fri Apr 15 20:50:40 2016
New Revision: 71166
URL:
http://svn.reactos.org/svn/reactos?rev=71166&view=rev
Log:
[NTOSKRNL]
In FsRtlAddBaseMcbEntry(), don't merge runs in case there's a hole in LBNs
CORE-11002
Modified:
trunk/reactos/ntoskrnl/fsrtl/largemcb.c
Modified: trunk/reactos/ntoskrnl/fsrtl/largemcb.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/largemcb.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] Fri Apr 15 20:50:40 2016
@@ -184,7 +184,7 @@
NeedleRun.StartingLbn.QuadPart = ~0ULL;
Mcb->Mapping->Table.CompareRoutine = McbMappingIntersectCompare;
if ((LowerRun = RtlLookupElementGenericTable(&Mcb->Mapping->Table,
&NeedleRun)) &&
- (LowerRun->StartingLbn.QuadPart < Node.StartingLbn.QuadPart))
+ (LowerRun->StartingLbn.QuadPart + (LowerRun->RunEndVbn.QuadPart -
LowerRun->RunStartVbn.QuadPart) == Node.StartingLbn.QuadPart))
{
ASSERT(LowerRun->RunEndVbn.QuadPart == Node.RunStartVbn.QuadPart);
Node.RunStartVbn.QuadPart = LowerRun->RunStartVbn.QuadPart;