On Thu, 25 Jun 2026 17:17:39 GMT, Ashay Rane <[email protected]> wrote:
> On both ReFS and removable drives, the primary path in libGetXSpace.c, > (which calls `GetDiskSpaceInformationW()` API function) fails because > the API call fails. When that happens, the code throws an exception, > causing the test to fail. > > The key change in this patch is to switch to the fallback path (of > calling `GetDiskFreeSpaceExW()` to estimate the disk space) when > `GetDiskSpaceInformationW()` fails, making the test pass on machines > that have such non-standard volumes. This has the ancillary benefit of > handling _all_ kinds of removable drives, so this patch removes the > special case for handling CDROM drives (whose code shelled out to "df", > which doesn't exist outside of Cygwin and MSys/MinGW). > > This patch also fixes the return types and their handling for both > `GetDiskSpaceInformationW()` and `GetDiskFreeSpaceExW()` to match the > Windows API documentation. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Hi Jaikiran, thanks for taking a look at the changes. I have a machine that has both ReFS volumes and a CD-ROM drive and the test (with the revised code) passes on this machine. >_ Get-Volume | Format-Table DriveLetter,FileSystem,DriveType DriveLetter FileSystem DriveType ----------- ---------- --------- C NTFS Fixed NTFS Fixed D ReFS Fixed E CD-ROM ------------- PR Comment: https://git.openjdk.org/jdk/pull/31682#issuecomment-5004870334
