En utilisant java, comment obtenez-vous la quantité d'espace libre sur un système de fichiers zfs solaris?

StackOverflow https://stackoverflow.com/questions/759912

  •  09-09-2019
  •  | 
  •  

Question

En utilisant java, comment obtenez-vous la quantité d'espace libre sur un système de fichiers zfs solaris?

I ai X4140 SunFire avec disque dur intégré monté en tant que /. Il a également un JBOD connecté avec 7.6TB d'espace disque, configuré comme un système de fichiers ZFS et monté en tant que / app.

J'utilise java.io.File.getUsableSpace ou java.io.File.getFreeSpace pour obtenir la quantité d'espace libre sur le système de fichiers. Le / (le bord) HDD FS fonctionne correctement.

On / app (la partition zfs) File.getFreeSpace, File.getUsableSpace et File.getTotalSpace tout retour 0 (zéro). Quelqu'un sait-il pourquoi? Est-ce que le travail de java.io.File.getUsableSpace sur ZFS, et si oui, comment?

Le tableau suivant montre le système de fichiers sur la machine zfs en question:

  

/ usr / sbin / zfs liste

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  - 
Était-ce utile?

La solution

Je ne sais pas pourquoi, mais vous pouvez être jeter un oeil à libzfs , que enveloppements commande zfs dans une belle API java

Autres conseils

La commande df -kp retourne l'espace libre, mais la manière la plus universelle est d'utiliser

Apache Commons IO FileSystemUtils.freeSpaceKb ( "/ volume");

il utilise df ainsi que dir pour Windows

Qu'est-ce que le rapport de commande « df »? Est-ce pas non plus de rapports d'espace libre sur zfs correctement?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top