fs(4-vxfs) (VxFS) fs(4-vxfs)
NAME
fs (vxfs) - Format eines Datenträgers im Veritas-Dateisystem (VxFS)
SYNTAX
#include <sys/types.h>
#include <sys/param.h>
#include <sys/fs/vxfs.h>
SYNTAX
Der VxFS-Superblock beginnt immer ab der Position 1024 Bytes vom
Anfang des Dateisystems. Die Position des Superblocks ist festgelegt,
so daß jedes Kommando und Dienstprogramm weiß, wo er zu finden ist.
Der Superblock enthält folgende grundlegenden Größen und Offsets:
fsmagic
Die Dateiformatkennung (magic number) des Dateisystems
(VXMAGIC). Sie dient zur Unterscheidung eines VxFS-Dateisystems
von dem eines anderen Typs.
fsversion
Die Versionnummer der Dateisystemarchitektur (VXVERSION), zur
Zeit 1.
fsctime
Das Erstellungsdatum des Dateisystems. Der Systemaufruf time(2)
liefert die Zeit.
fsectime
Dieses Feld ist ein Platzhalter für den Fall, daß das Erstel-
lungsdatum des Dateisystems präzisiert werden soll. Es enthält
zur Zeit eine Null.
fsobsolete1
Leerer Platzhalter.
fsobsolete2
Leerer Platzhalter.
fslogstart
Die Blockadresse des ersten Blocks des Protokollbereichs. Sie
lautet zur Zeit 2.
fslogend
Die Blockadresse des letzten Blocks des Protokollbereichs. Die
Größe des Protokollbereichs in Blöcken kann mit dem Kommando
mkfs(1M) festgelegt werden. Wird nichts angegeben, beträgt die
Größe 256 Blöcke. Die Mindestgröße beträgt 32 Blöcke.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fsbsize
Die Blockgröße des Dateisystems. Zur Auswahl stehen 1024, 2048,
4096 und 8192 Bytes.
fssize
Die Anzahl der Blöcke im Dateisystem ausgedrückt in Anzahl der
Blöcke von der Größe fsbsize. Das Feld fssize enthält eine 32
Bit lange Zahl mit Vorzeichen. Die maximale Anzahl der Blöcke in
einem VxFS-Dateisystem ist auf 31 Bits beschränkt.
fsdsize
Die Anzahl der Datenblöcke im Dateisystem. Ein Datenblock ist ein
Block, der einer Datei im Dateisystem zugeordnet wird.
fsninode
Die Anzahl der I-Nodes im Dateisystem. Sie unterliegt folgenden
Regeln:
- Das Feld fsninode enthält eine 32 Bit lange Zahl.
- Die Anzahl der I-Nodes wird derart abgerundet, daß die Liste
der I-Nodes in jeder Zuweisungseinheit eine gerade Anzahl von
Blöcken der I-Node-Liste ergibt (siehe fsilbsize).
- Die Anzahl der I-Nodes kann mit dem Kommandos mkfs(1M) festge-
legt werden. Wird nichts festgelegt, ist die Anzahl fsdsize
geteilt durch 4.
fsnau
Die Anzahl der Zuweisungseinheiten im Dateisystem. Sie kann mit
dem Kommando mkfs(1M) festgelegt werden. Wird nichts festgelegt,
ist die Anzahl fssize aufgerundet zur nächsthöchsten 32K Block-
grenze geteilt durch 32.
fsdefiextsize
Die Standardgröße indirekter Speicherbereiche in Blöcken. Sie
kann mit dem Kommando mkfs(1M) festgelegt werden. Wird nichts
festgelegt, wird eine Standardgröße von 64 Blöcken verwendet.
fsilbsize
Die Größe eines Blocks in der I-Node-Liste in Bytes. Sie kann mit
dem Kommando mkfs(1M) festgelegt werden. Ohne Angabe der Option
wird als Standardwert der größere der beiden Werte 2K oder
fsbsize verwendet.
fsimmedlen
Die Größe in Bytes des unmittelbaren Datenbereichs jeder I-Node.
Dieser Wert ist 96 für ein VxFS-Dateisystem in der Version 1.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fsndaddr
Die Anzahl direkter Speicherbereiche, die von VXEXT4 unterstützt
werden (siehe den Abschnitt über die I-Node-Liste). Dieser Wert
ist 10 für ein VxFS-Dateisystem in der Version 1.
Die vorangegangenen Felder legen die Größe und das Aussehen des Datei-
systems fest. Um die für die Kommandos benötigten Berechnungen zu
reduzieren, werden einige Werte aus den Grundwerten gewonnen und im
Superblock gespeichert.
Der Superblock enthält folgende gewonnene Werte:
fsaufirst
Die Adresse der ersten Zuweisungseinheit in Blöcken. Es kann eine
Lücke zwischen dem Ende des Absichts-Protokolls und der ersten
Zuweisungseinheit vorhanden sein. Diese Lücke kann dazu benutzt
werden, die erste Zuweisungseinheit an einer gewünschten Grenze
auszurichten.
fsemap
Der Versatz in Blöcken der Liste der freien Speicherbereiche
(emap) ab dem Beginn der Zuweisungseinheit.
fsimap
Der Versatz in Blöcken der Liste der freien I-Nodes (imap) ab dem
Beginn der Zuweisungseinheit.
fsiextop
Der Versatz in Blöcken der Liste der erweiterten I-Node-Operation
ab dem Beginn der Zuweisungseinheit.
fsistart
Der Versatz in Blöcken der I-Node-Liste (ilist) ab dem Beginn der
Zuweisungseinheit.
fsbstart
Der Versatz in Blöcken des ersten Datenblocks ab dem Beginn der
Zuweisungseinheit. Der Header einer Zuweisungseinheit kann aufge-
füllt sein, um am ersten Datenblock ausgerichtet zu werden.
fsfemap
Der Versatz in Blöcken der ersten Liste freier Speicherbereiche
(emap) ab dem Beginn des Dateisystems.
fsfimap
Der Versatz in Blöcken der ersten Liste freier I-Nodes (imap) ab
dem Beginn des Dateisystems.
fsfiextop
Der Versatz in Blöcken der ersten Liste freier erweiterter I-
Node-Operationen ab dem Beginn des Dateisystems.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fsfistart
Der Versatz in Blöcken der I-Node-Liste (ilist) ab dem Beginn des
Dateisystems.
fsfbstart
Der Versatz in Blöcken des ersten Datenblocks ab dem Beginn des
Dateisystems.
fsnindir
Die Anzahl der Einträge in einem indirekten Adreßbereich. Ein
indirekter Adreßbereich ist im allgemeinen 8192 Bytes lang und
bestimmt den aktuellen Wert für fsnindir 2048.
fsaulen
Die Länge einer Zuweisungseinheit in Blöcken.
fsauimlen
Die Länge einer Liste freier I-Nodes in Blöcken.
fsauemlen
Die Länge einer Liste freier Speicherbereiche in Blöcken.
fsailen
Die Länge der I-Node-Liste dieser Zuweisungseinheit in Blöcken.
fsaupad
Die Länge der Ausrichtungsauffüllung der Zuweisungseinheit in
Blöcken.
fsaublocks
Die Anzahl der Datenblöcke in einer Zuweisungseinheit.
fsmaxtier
Der Logarithmus zur Basis 2 von fsaublocks.
fsinopb
Die Anzahl der I-Node-Einträge pro fsbsize-Block in der I-Node-
Liste.
fsinopau
Die Anzahl der I-Nodes in einer Zuweisungseinheit.
fsinopilb
Die Anzahl der I-Node-Einträge pro fsilbsize-Block in der I-
Node-Liste.
fsndiripau
Die erwartete Anzahl von I-Nodes für Dateiverzeichnisse pro
Zuweisungseinheit.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fsiaddrlen
Die Größe eines indirekten Adreßblocks in Blöcken. Ein indirekter
Adreßblock ist normalerweise 8 KBytes groß. Dieses Feld wird mit
dem Wert (8K / fsbsize) versorgt.
fsbshift
Der Logarithmus zur Basis 2 von fsbsize. Wird benutzt um einen
Byte-Versatz in einen Block-Versatz zu konvertieren.
fsinoshift
Der Logarithmus zur Basis 2 von fsinopb. Wird benutzt um eine
I-Node-Nummer in einen Block-Versatz in der I-Node-Liste zu kon-
vertieren.
fsbmask
Ein maskierter Wert, der bewirkt, daß der Versatz (byteoffset &
fsbmask) zur nächst kleineren Blockgrenze gerundet wird.
fsboffmask
Ein maskierter Wert, durch den sich der Versatz (byteoffset &
fsboffmask) vom Beginn der nächst kleineren Blockgrenze ergibt.
fsinomask
Ein maskierter Wert, durch den sich der Versatz (inodenumber &
fsinomask) vom Beginn des Blocks mit der I-Node-Liste und des
zugehörigen Eintrags in der I-Node-Liste ergibt.
fschecksum
Eine einfache Prüfsumme über die Felder. Das Makro VXFSCHECKSUM
liefert die Berechnung der Prüfsumme oder bestätigt sie.
Die vorangegangenen Felder werden beim Erstellen eines Dateisystems
initialisiert. Die Werte ändern sich nicht, es sei denn, das Dateisy-
stem wird vergrößert. Diese Felder werden im Header jeder Zuweisungs-
einheit abgelegt.
Daneben gibt es zusätzlich folgende dynamische Felder:
fsfree
Die aktuelle Anzahl freier Datenblöcke.
fsifree
Die aktuelle Anzahl freier I-Nodes.
fsefree
Ein Array der aktuellen Anzahl freier Speicherbereiche jeder
Bereichsgröße im Dateisystem.
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fsflags
Folgende Optionen werden erkannt:
VXFULLFSCK
Wird gesetzt, wenn das Dateisystem eine vollständige Struk-
turüberprüfung zur Fehlerbehebung benötigt. Wenn diese
Option gesetzt ist, wird nach Beendigung der Bearbeitung des
Absichts-Protokolls eine vollständige Überprüfung vorgenom-
men.
VXNOLOG
Wird gesetzt, wenn das Dateisystem mit der VXMSNOLOG-
Option eingehängt war. Wenn diese Option gesetzt ist, wird
keine Bearbeitung des Absichts-Protokolls vorgenommen.
VXLOGBAD
Wird gesetzt, wenn ein E/A-Fehler das Protokoll unbrauchbar
gemacht hat. Wenn diese Option gesetzt ist, wird keine Bear-
beitung des Absichts-Protokolls vorgenommen.
VXLOGRESET
Wird gesetzt, wenn die Log-ID größer als VXMAXLOGID (2^30)
wird. Die Log-ID wird bei der nächsten Gelegenheit zurückge-
setzt (z. B. bei mount oder 60-Sekunden sync).
VXRESIZE
Wird gesetzt, wenn gerade eine Vergrößerung des Dateisystems
stattfindet. Wenn das Dienstprogramm fsck(1M) diese Option
erkennt, muß eine Wiederherstellung durchgeführt werden.
Eine Beschreibung der Größenänderung von Dateisystemen fin-
den Sie beim Kommando fsadm(1M).
fsmod
Wird gesetzt, wenn ein eingehängtes Dateisystem verändert wurde.
Diese Option wird benutzt um sicherzustellen, daß der Superblock
neu geschrieben wird, wenn das Kommando sync ausgeführt wird.
fsclean
Wird auf VXDIRTY gesetzt, wenn das Dateisystem für lesende und
schreibende Zugriffe eingehängt ist. Nach dem Aushängen des
Dateisystems mit umount(1M) oder nach einer erfolgreichen Über-
prüfung mit fsck(1M) wird der Feldinhalt auf VXCLEAN gesetzt.
Das Kommando mount(1M) erlaubt es nicht, ein Dateisystem mit
lesendem und schreibendem Zugriff einzuhängen, wenn das Feld
fsclean mit dem Wert VXDIRTY belegt ist.
fsreserved
Für eine zukünftige Belegung reserviert.
fsfirstlogid
Beginnt mit der ersten ID des Absichts-Protokolls, wenn das
Dateisystem das nächste Mal eingehängt wird.
Seite 6 Reliant UNIX 5.44 Gedruckt 11/98
fs(4-vxfs) (VxFS) fs(4-vxfs)
fstime
Gibt den Zeitpunkt an, zu dem der Superblock zuletzt auf die
Festplatte geschrieben wurde. Diese Feld hat das gleiche Format
wie das Feld fsctime.
fsetime
Hilfsfeld, wenn Zeitangaben 8 Bytes groß werden.
fsfname
Name des Dateisystems (6 Zeichen).
fsfpack
Etikett des Dateisystems (6 Zeichen).
SIEHE AUCH
fsck(1M), fsdb(1M), mkfs(1M), mount(2), inode(4-vxfs).
Seite 7 Reliant UNIX 5.44 Gedruckt 11/98