On Mon, 9 Dec 2024 10:55:13 GMT, Taizo Kurashige <d...@openjdk.org> wrote:

>> To resolve java/io/File/GetXSpace.java failure, I fix libGetXSpace.c to use  
>> Cygwin’s `df` to get the size for comparison if the test target drive is a 
>> CD-ROM drive.
>> 
>> As described in JDK-8343342, GetDiskSpaceInformationW can't get information 
>> about the size of the CD-ROM drive. 
>> GetDiskFreeSpaceExW can also get information about the size of the CD-ROM 
>> drive. However, because GetDiskFreeSpaceExW is called by the 
>> File.get-X-Space methods, it seems more reasonable to compare the size got 
>> by other way than GetDiskFreeSpaceExW as a test. For this reason, I use 
>> Cygwin's `df`.
>> In JDK-8298619, GetDiskSpaceInformationW was adopted instead of `df` because 
>> the size got by File.get-X-Space methods may not match the size got by `df` 
>> when per-user quotas are used. I don't think this problem applies to CD-ROM  
>> drive, so I think we can use Cygwin's `df` for CD-ROM drive.
>> 
>> After fix, I ran a test on Windows Server 2019 where drive C is a normal 
>> local disk, drive D is an unmounted iso CD-ROM  drive, and drive F is an iso 
>> mounted CD-ROM drive and confirmed that it passes.
>> 
>> I think this fix may also resolves the similar failure reported at 
>> https://github.com/openjdk/jdk/pull/12397#issuecomment-1705164515.
>> 
>> Thanks
>
> Taizo Kurashige has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Add ifdef WINDOWS

test/jdk/java/io/File/GetXSpace.java line 415:

> 413:     private static native boolean isCDDrive(String root);
> 414: 
> 415:     private static long[] getCDDriveSpace(String root) throws 
> IOException {

Why not pass the `size` array in to `getCDDriveSpace` as it is already 
allocated, instead of allocating again and returning?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21799#discussion_r1883020864

Reply via email to