Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

fstat, stat - bs2fs-Dateistruktur

&pagelevel(4)&pagelevel

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-
Objekt (stat)

Information für geöffnetes bs2fs-Objekt
(stat oder fstat)

st_ino

Eindeutige Nummer zwischen einem bs2fs-mount und umount

st_dev

Eindeutige Nummer des bs2fs-Dateisystems, in dem die mit st_ino gekennzeichnete
Datei liegt.

st_nlink

Bei DVS-Dateien: "normalerweise" 1
Bei Bibliothekselementen mit höchster Version: 2
bei anderen Bibliothekselementen:1

st_size

DVS-Datei:
letzte beschriebene PAM-Seite in Byte
Bibliothekselement:
Größe PAM-Seiten in Byte

Größe der Schattendatei im Container

st_uid

bs2-POSIX-user

st_gid

bs2-POSIX-group

st_atime
st_mtime
st_ctime

Eigenschaften der BS2000-Datei bzw. des
Bibliothekselements
Bei Bibliothekselementen hat st_atime den
gleichen Wert wie bei der Bibliothek oder
einen elementspezifischen Wert, falls
LMS-aktiviert

Eigenschaften der Schattendatei im
Container

st_mode

Eigenschaften der BS2000-Datei bzw. des Bibliothekselements


Erläuterung zu den Zeitstempeln

st_atime

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.

st_ctime

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).