Major refactoring: testing

This commit is contained in:
Bill Zissimopoulos 2015-12-27 22:08:56 -08:00
parent 5fb9953a3a
commit 6d2a56cea0
3 changed files with 7 additions and 5 deletions

View File

@ -300,10 +300,6 @@ static NTSTATUS FspFsvolDeviceInit(PDEVICE_OBJECT DeviceObject)
FspFsvolDeviceCompareElement, FspFsvolDeviceAllocateElement, FspFsvolDeviceFreeElement, 0); FspFsvolDeviceCompareElement, FspFsvolDeviceAllocateElement, FspFsvolDeviceFreeElement, 0);
FsvolDeviceExtension->InitDoneGenTab = 1; FsvolDeviceExtension->InitDoneGenTab = 1;
/* initialize the volume name buffer */
RtlInitEmptyUnicodeString(&FsvolDeviceExtension->VolumeName,
FsvolDeviceExtension->VolumeNameBuf, sizeof FsvolDeviceExtension->VolumeNameBuf);
/* initialize our timer routine and start our expiration timer */ /* initialize our timer routine and start our expiration timer */
#pragma prefast(suppress:28133, "We are a filesystem: we do not have AddDevice") #pragma prefast(suppress:28133, "We are a filesystem: we do not have AddDevice")
Result = IoInitializeTimer(DeviceObject, FspFsvolDeviceTimerRoutine, 0); Result = IoInitializeTimer(DeviceObject, FspFsvolDeviceTimerRoutine, 0);

View File

@ -209,7 +209,9 @@ NTSTATUS FspIoqCreate(
{ {
ASSERT(0 != CompleteCanceledIrp); ASSERT(0 != CompleteCanceledIrp);
ULONG BucketCount = IrpCapacity / 2; *PIoq = 0;
ULONG BucketCount = IrpCapacity / 3;
FSP_IOQ *Ioq = FspAllocNonPaged( FSP_IOQ *Ioq = FspAllocNonPaged(
sizeof *Ioq + sizeof Ioq->ProcessIrpDictBuckets[0] * BucketCount); sizeof *Ioq + sizeof Ioq->ProcessIrpDictBuckets[0] * BucketCount);
if (0 == Ioq) if (0 == Ioq)
@ -240,6 +242,8 @@ NTSTATUS FspIoqCreate(
Ioq->PendingIrpCapacity = IrpCapacity; Ioq->PendingIrpCapacity = IrpCapacity;
Ioq->CompleteCanceledIrp = CompleteCanceledIrp; Ioq->CompleteCanceledIrp = CompleteCanceledIrp;
*PIoq = Ioq;
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }

View File

@ -157,6 +157,8 @@ NTSTATUS FspVolumeCreate(
FsvolDeviceExtension->FsctlDeviceObject = FsctlDeviceObject; FsvolDeviceExtension->FsctlDeviceObject = FsctlDeviceObject;
FsvolDeviceExtension->FsvrtDeviceObject = FsvrtDeviceObject; FsvolDeviceExtension->FsvrtDeviceObject = FsvrtDeviceObject;
FsvolDeviceExtension->VolumeParams = VolumeParams; FsvolDeviceExtension->VolumeParams = VolumeParams;
RtlInitEmptyUnicodeString(&FsvolDeviceExtension->VolumeName,
FsvolDeviceExtension->VolumeNameBuf, sizeof FsvolDeviceExtension->VolumeNameBuf);
RtlCopyUnicodeString(&FsvolDeviceExtension->VolumeName, &VolumeName); RtlCopyUnicodeString(&FsvolDeviceExtension->VolumeName, &VolumeName);
Result = FspDeviceInitialize(FsvolDeviceObject); Result = FspDeviceInitialize(FsvolDeviceObject);
if (NT_SUCCESS(Result)) if (NT_SUCCESS(Result))