while ((current_entry != &DirtyVacbListHead) && (Target > 0))
{
- ULONG Refs;
-
current = CONTAINING_RECORD(current_entry,
ROS_VACB,
DirtyVacbListEntry);
ASSERT(current->Dirty);
- /* One reference is added above */
- Refs = CcRosVacbGetRefCount(current);
- if ((Refs > 3 && current->PinCount == 0) ||
- (Refs > 4 && current->PinCount > 1))
- {
- current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite(
- current->SharedCacheMap->LazyWriteContext);
- CcRosVacbDecRefCount(current);
- continue;
- }
-
KeReleaseGuardedMutex(&ViewLock);
Status = CcRosFlushVacb(current);