Die Programmschnittstellen fstatvfs und statvfs liefern Informationen über das Dateisystem, in dem eine Datei liegt. Diese Datei wird bei fstatvfs über einen Dateideskriptor (filedescriptor) und bei statvfs über ihren Namen spezifiziert.
In beiden Fällen erfolgt die Ausgabe in dem Format, das in der Struktur statvfs_t im Header sys/statvfs.h definiert ist.
typedef struct statvfs { unsigned long f_bsize; /* Blockgröße des Dateisystems */ unsigned long f_frsize; /* Fragmentgröße */ unsigned long f_blocks; /* # Blöcke auf Dateisystem mit Größe f_frsize */ unsigned long f_bfree; /* # freie Blöcke mit Größe f_frsize */ unsigned long f_bavail; /* # verfügbare freie Blöcke für Nicht-Superuser */ unsigned long f_files; /* # Dateiknoten (inodes) */ unsigned long f_ffree; /* # freie Dateiknoten (inodes) */ unsigned long f_favail; /* # verfügbare freie Inodes für Nicht-Superuser */ unsigned long f_fsid; /* Dateisystem-Id (Nummer) */ char f_basetype[FSTYPSZ]; /* Name des Ziel-Dateisystems, Null-terminiert */ unsigned long f_flag; /* Bitmaske der Optionen von f_flag */ unsigned long f_namemax; /* maximale Länge der Dateinamen */ char f_fstr[32); /* dateisystemspezifische Zeichenkette */ unsigned long f_filler[16]; /* reserviert für zukünftige Versionen */ } statvfs_t;
Dieses Format ist allerdings auf ufs-Dateisysteme zugeschnitten. Bei einem bs2fs-Dateisystem muss der Anwender diese Information entsprechend der folgenden Tabelle interpretieren. Die Daten werden mit Hilfe der BS2000-Schnittstelle $SJINFO erzeugt.
Wird auf 2048 gesetzt (PAMBLOCKSIZE).
Wird auf 2048 gesetzt (PAMBLOCKSIZE).
Diese Daten werden aus den entsprechenden Werten der BS2000-Schnittstelle $SJINFO gewonnen. Allerdings lassen sich nicht alle BS2000-Werte auf ein exaktes Äquivalent abbilden, das für ufs-Dateisystemen verwendet wird.
Enthält den Index, der von der Schnittstelle sysfs verwendet wird.
Enthält den String "bs2fs" zur Kennzeichnung.
Nur die Kennzeichnung ST_RDONLY ist von Bedeutung.
Wird abhängig vom Katalog- und Benutzerkennung auf 38 - 41 gesetzt. Dieser Wert gilt nur für DVS-Dateien bzw. PLAM-Bibliotheken. Bei Bibliothekselementen oder Typen enthält die Variable den Wert für die übergeordnete PLAM-Bibliothek. Die Beschränkungen für Namen von Elementen und Elementtypen können nur mit pathconf ermittelt werden. Innerhalb der Beschränkung von "Elementname+Version" auf 89 Zeichen ist zu beachten, dass der Bestandteil Elementname auf 64 Zeichen und der Bestandteil Version auf 24 Zeichen begrenzt ist.
|
(*) | unsigned long long bei fstatvfs64() oder statvfs64() |