{
current = CONTAINING_RECORD(current_entry,FILE_SYSTEM_OBJECT,Entry);
if (current==current_last)
- KeBugCheck(0); /* filesystem forgot to call IoUnregisterFileSystem() */
+ {
+ /* At least ntfs.sys-NT5.1sp1 appears to not to unregister itself.
+ * It does not import symbol IoUnregisterFileSystem() at all!
+ * BTW also ext2fsd.sys<=v0.10A also forgets to call IoUnregisterFileSystem().
+ */
+ DPRINT("IoShutdownRegisteredFileSystems(): WARNING: filesystem forgot to call IoUnregisterFileSystem() !!!\n");
+ IoUnregisterFileSystem(current->DeviceObject);
+ continue;
+ }
current_last=current;
/* send IRP_MJ_SHUTDOWN */
PIRP Irp;
NTSTATUS Status;
- DPRINT("IoAskFileSystemToMountDevice(DeviceObject %x, DeviceToMount %x)\n",
+ DPRINT("IopMountFileSystem(DeviceObject %x, DeviceToMount %x)\n",
DeviceObject,DeviceToMount);
assert_irql(PASSIVE_LEVEL);