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

Reply via email to