使用Java,如何获取solaris zfs文件系统上的可用空间量?

我有一个安装有/的内置硬盘的SunFire x4140。它还具有一个连接的JBOD,具有7.6TB的HDD空间,配置为ZFS文件系统并安装为/ app。

我使用java.io.File.getUsableSpace或java.io.File.getFreeSpace来获取文件系统上的可用空间。在/(板载)HDD FS上,它可以正常工作。

在/ app(zfs分区)上,File.getFreeSpace,File.getUsableSpace和File.getTotalSpace均返回0(零)。有人知道为什么吗? java.io.File.getUsableSpace是否可以在ZFS上运行,如果可以,怎么办?

下面显示了相关机器上的zfs文件系统:

/ usr / sbin / zfs列表

NAME                USED  AVAIL  REFER  MOUNTPOINT
internal            196K  98.4G     1K  none
internal/logs        18K  98.4G    18K  /logs
j4200-1             442G  7.57T  2.44K  none
j4200-1/app         442G  7.57T   153M  /app
j4200-1/app@first   442G      -   442G  -

最佳答案

我不知道为什么,但是您可能要看看libzfs,它将zfs命令包装在一个不错的Java API中

10-08 00:34