[FASTFAT] While closing FCBs on dismount, release from tail to head and not the contrary.

It fixes assertion failure in vfatDestroyFCB() where we would have release parent before child.
This is still not perfect, but less bug prone...

With this commits (and ENABLE_SWAPOUT defined), ReactOS seems to unmount FAT volumes quite nice! :-)
(Tried with fsutil volume dismount X:)
This commit is contained in:
Pierre Schweitzer 2017-12-17 18:21:51 +01:00
parent de03686148
commit 64bc96558e
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -1203,7 +1203,7 @@ VfatDismountVolume(
/* Rebrowse the FCB in order to free them now */ /* Rebrowse the FCB in order to free them now */
while (!IsListEmpty(&DeviceExt->FcbListHead)) while (!IsListEmpty(&DeviceExt->FcbListHead))
{ {
NextEntry = RemoveHeadList(&DeviceExt->FcbListHead); NextEntry = RemoveTailList(&DeviceExt->FcbListHead);
Fcb = CONTAINING_RECORD(NextEntry, VFATFCB, FcbListEntry); Fcb = CONTAINING_RECORD(NextEntry, VFATFCB, FcbListEntry);
vfatDestroyFCB(Fcb); vfatDestroyFCB(Fcb);
} }