diff --git a/reactos/drivers/filesystems/fastfat/fat.c b/reactos/drivers/filesystems/fastfat/fat.c index c9fb49ea57d..8ff955a4fbd 100644 --- a/reactos/drivers/filesystems/fastfat/fat.c +++ b/reactos/drivers/filesystems/fastfat/fat.c @@ -164,6 +164,8 @@ FAT16FindAndMarkAvailableCluster(PDEVICE_EXTENSION DeviceExt, *Block = 0xffff; CcSetDirtyPinnedData(Context, NULL); CcUnpinData(Context); + if (DeviceExt->AvailableClustersValid) + InterlockedDecrement((PLONG)&DeviceExt->AvailableClusters); return(STATUS_SUCCESS); } @@ -227,6 +229,8 @@ FAT12FindAndMarkAvailableCluster(PDEVICE_EXTENSION DeviceExt, PULONG Cluster) *CBlock = (*CBlock & 0xf) | 0xfff0; CcSetDirtyPinnedData(Context, NULL); CcUnpinData(Context); + if (DeviceExt->AvailableClustersValid) + InterlockedDecrement((PLONG)&DeviceExt->AvailableClusters); return(STATUS_SUCCESS); } } @@ -281,6 +285,8 @@ FAT32FindAndMarkAvailableCluster (PDEVICE_EXTENSION DeviceExt, PULONG Cluster) *Block = 0x0fffffff; CcSetDirtyPinnedData(Context, NULL); CcUnpinData(Context); + if (DeviceExt->AvailableClustersValid) + InterlockedDecrement((PLONG)&DeviceExt->AvailableClusters); return(STATUS_SUCCESS); }