[EXT2]
authorPierre Schweitzer <pierre@reactos.org>
Sat, 13 Feb 2016 09:16:45 +0000 (09:16 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sat, 13 Feb 2016 09:16:45 +0000 (09:16 +0000)
Add the ReactOS famous... hack? fix? whatever? already present in FastFAT, NTFS...:
When accessing a floppy disk, our floppy storage stack can return that the disk type is unknown (some would say it's legit - see comments in FastFAT) and will also return a disk sector size of 0.
Then, when trying to read the floppy disk with said size, everything goes wrong (null length read is never a good thing). So, as in any other FSD in ReactOS, for disk sector size to 512 bytes in this really specific case.

This fixes BSOD when having a floppy drive in ReactOS (whatever its filesystem).

CORE-10464 #resolve #comment Fixed with r70725

svn path=/trunk/; revision=70725

reactos/drivers/filesystems/ext2/src/fsctl.c

index 124b739..d6cb8d7 100644 (file)
@@ -1496,6 +1496,13 @@ Ext2MountVolume (IN PEXT2_IRP_CONTEXT IrpContext)
             _SEH2_LEAVE;
         }
 
+#ifdef __REACTOS__
+        if (DiskGeometry.MediaType == Unknown)
+        {
+            DiskGeometry.BytesPerSector = 512;
+        }
+#endif
+
         Status = IoCreateDevice(
                      MainDeviceObject->DriverObject,
                      sizeof(EXT2_VCB),