Die stat-Stuktur der Systemcalls stat() bzw. fstat() liefert alle wichtigen Informationen zu einer POSIX-Datei. Diese Informationen werden u.a. auch vom POSIX-Kommando ls ausgewertet und aufbereitet.
Im Falle von bs2fs-Dateien gibt es einige Besonderheiten, die in der folgenden Tabelle aufgelistet sind.
In einigen Fällen ist die Information unterschiedlich, je nachdem ob die Datei gerade geöffnet oder geschlossen ist. Im geöffneten Zustand befindet sich die Datei als "Schatten-Datei" im bs2fs-Container.
Mit stat() lassen sich die Informationen sowohl für geschlossene als auch für geöffnete Objekte abrufen, mit fstat() nur für geöffnete Objekte.
Information für geschlossenes bs2fs- | Information für geöffnetes bs2fs-Objekt | |
| Eindeutige Nummer zwischen einem bs2fs-mount und umount | |
| Eindeutige Nummer des bs2fs-Dateisystems, in dem die mit st_ino gekennzeichnete | |
| Bei DVS-Dateien: "normalerweise" 1 | |
| DVS-Datei: | Größe der Schattendatei im Container |
| bs2-POSIX-user | |
| bs2-POSIX-group | |
| Eigenschaften der BS2000-Datei bzw. des | Eigenschaften der Schattendatei im |
| Eigenschaften der BS2000-Datei bzw. des Bibliothekselements |
Erläuterung zu den Zeitstempeln
Beim Öffnen zum Lesen erfolgt der Zeitstempel-Update der BS2000-Datei im Rahmen des BS2000-Close, der sofort nach dem ggf. notwendigen Kopieren der Schattendatei in den Container erfolgt. Während der lesenden Zugriffe im Container erfolgt der Zeitstempel-Update nach jedem lesenden Zugriff auf die Schattendatei. Die Zeitstempel der BS2000- und der Schattendatei laufen dann auseinander, d.h. die BS2000-Datei hat prinzipiell einen "älteren" atime-Stand als die Schattendatei. (Solange die Datei geöffnet ist, sieht die Anwendung immer nur den Zeitstempel der Schattendatei. Nach dem close() sieht sie dagegen wieder den "älteren" Zeitstempel der BS2000-Datei.) Für Bibliothekselemente wird üblicherweise kein Zugriffszeitstempel geführt, das Feld st_atime enthält dann den Zugriffszeitstempel der Bibliothek. Nur wenn für die Bibliothek mit der LMS-Anweisung //MODIFY-LIBRARY-ATTRIBUTES mit dem Operanden ACCES-DATE=*KEEP oder mit der entsprechenden LMSUP-Funktion das Führen von Zugriffszeitstempeln festgelegt wurde, werden ab diesem Zeitpunkt die Zugriffszeitstempel für deren Elemente bei Zugriffen aktualisiert und können dann ins Feld st_atime übernommen werden.
Nach chmod() wird das Feld st_ctime des Dateistatus nicht verändert; st_ctime repräsentiert wie bei BS2000-Dateien den Zeitpunkt der Erzeugung (CREATION TIME bei FSTAT). |