Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Currently, for SSD detection on Windows, innodb uses DeviceIOControl with IOCTL_STORAGE_QUERY_PROPERTY/StorageDeviceSeekPenaltyProperty . On multiple machines, especially in cloud, it would fail (not implemented, or other reason).
However, SSD can be detected with other means, e.g if TRIM is enabled (s. https://stackoverflow.com/questions/23363115/detecting-ssd-in-windows) . Support for this in DeviceIoControl is better, at least Azure machines correctly return the value.
We should call DeviceIOControl w.IOCTL_STORAGE_QUERY_PROPERTY with StorageDeviceSeekPenaltyProperty first, then fallback to StorageDeviceTrimProperty, and if both fails, decide it is ultimately not SSD.