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

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

Commit messages:
 - Add 2>&1 to prevent messages containing "No such file or directory" from 
being output to System.err on jtr
 - Fix libGetXSpace.c

Changes: https://git.openjdk.org/jdk/pull/21799/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21799&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343342
  Stats: 51 lines in 1 file changed: 49 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/21799.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21799/head:pull/21799

PR: https://git.openjdk.org/jdk/pull/21799

Reply via email to