RFR: 8343342: java/io/File/GetXSpace.java fails on Windows with CD-ROM drive

Taizo Kurashige duke at openjdk.org
Tue Dec 3 23:55:41 UTC 2024


On Thu, 31 Oct 2024 07:15:16 GMT, Taizo Kurashige <duke at 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

Thank you for your comment.

> Please comment on this, thanks.

I think item 1 is worth working on, because I can probably write simpler and more understandable code using Java. So I will modify it to run in Java instead of C. Just a moment, please.
Regarding item 2, I did not consider WSL at first. https://openjdk.org/groups/build/doc/building.html#windows-subsystem-for-linux-wsl says "Note that while it's possible to build on WSL, testing is still not fully supported." So I don't think it's a requirement as you say. Therefore, I will not work on item 2.

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

PR Comment: https://git.openjdk.org/jdk/pull/21799#issuecomment-2515822850


More information about the core-libs-dev mailing list