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

Brian Burkhalter bpb at openjdk.org
Mon Dec 2 17:23:45 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

(Delayed response due to holiday weekend in the US.)

> Based on the above thoughts, I considered the proposed changes undesirable.

I tend to agree. Your changes are all right aside from what I mentioned already: 1) the command exec would be better in Java than in C, and 2) the exec does not produce the desired outcome in WSL1. That said, as this is test code and not implementation code, I am not sure that item 1 would be worth the effort to address, and item 2 is not a requirement. Please comment on this, thanks.

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

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


More information about the core-libs-dev mailing list