sys: major change in device management: introduce FspDeviceGlobalLock and remove FSP_FSVOL_DEVICE_EXTENSION::DeleteResource; makes locking coarse-grained but more generic and safe

This commit is contained in:
Bill Zissimopoulos
2016-04-18 13:48:50 -07:00
parent 6dd6ec6b47
commit c40ce93fe2
4 changed files with 63 additions and 33 deletions

View File

@ -320,10 +320,6 @@ static NTSTATUS FspFsvolDeviceInit(PDEVICE_OBJECT DeviceObject)
FsvolDeviceExtension->InitDoneFsvrt = 1;
}
/* initialize our delete lock */
ExInitializeResourceLite(&FsvolDeviceExtension->DeleteResource);
FsvolDeviceExtension->InitDoneDelRsc = 1;
/* create our Ioq */
IrpTimeout.QuadPart = FsvolDeviceExtension->VolumeParams.IrpTimeout * 10000ULL;
/* convert millis to nanos */
@ -441,10 +437,6 @@ static VOID FspFsvolDeviceFini(PDEVICE_OBJECT DeviceObject)
ExDeleteResourceLite(&FsvolDeviceExtension->FileRenameResource);
}
/* finalize our delete lock */
if (FsvolDeviceExtension->InitDoneDelRsc)
ExDeleteResourceLite(&FsvolDeviceExtension->DeleteResource);
/* is there a virtual disk? */
if (FsvolDeviceExtension->InitDoneFsvrt)
{
@ -938,3 +930,5 @@ VOID FspDeviceDeleteAll(VOID)
FspDeviceDeleteList(DeviceObjects, DeviceObjectCount);
}
ERESOURCE FspDeviceGlobalResource;