next up previous contents
Next: Process Group Up: GET-Funktionen Previous: Partition Group

Filesystem Group

Diese Gruppe mußte vollständig neu modelliert werden, da im Zuge der Implemtierungsphase erkannt wurde, daß diese Gruppe in der ursprünglichen Modellierung nicht vollständig bzw. nicht eindeutig implementiert werden konnte.

Während der Implementierung dieser Gruppe ergab sich folgende Problematik: Die eingangs modellierte 'filesystem table' sollte sowohl alle Filesysteme aus der Datei /etc/fstab (vordefinierte Filesysteme) als auch aus der Datei /etc/mtab (tatsächlich gemountete Filesysteme) enthalten. Die Einträge innerhalb der Tabelle müssen dabei auf diesselbe Weise indiziert werden.

Verwendet man einen fortlaufenden Index zur Indizierung der Elemente, so stößt man auf folgendes Problem:
Die Datei /etc/mtab enthält Einträge aller derzeit gemounteten Filesysteme. Nun kann es vorkommen, daß ein solches Filesystem vom 'Automounter' gemountet wurde, nachdem auf dieses zugegriffen wird. Der 'Automounter' unmounted das entsprechende Filesystem wieder, wenn auf dieses Filesystem bestimmte Zeit lang nicht zugegriffen wird. Somit wird auch der entsprechende Eintrag aus der Datei /etc/mtab entfernt und alle dahinterliegenden Einträge werden um einen Platz nach vorne geschoben. Dieses Vorgehen ist dabei für den einzelnen Benutzer völlig transparent. Greift nun ein Benutzer über den entsprechenden Index auf ein Filesystem zu, das innerhalb dieser Tabelle seine Position (und somit den Index) geändert hat, so erhält man die falschen Informationen zu diesem Eintrag. Somit ist die Indizierung dieser Tabelle über einen fortlaufenden Index nicht möglich.

Verwendet man nun den Filesystemnamen als Index, so stößt man dabei auf folgendes Problem:
Die Datei /etc/fstab enthält Einträge zu vordefinierten Filesystemen bzw. Partitionen, die über das Shell-Kommando 'mount' jederzeit gemountet werden können. Nun kann es vorkommen, daß zu einem Block Device (bzw. zu einem Filesystemnamen) mehrere verschiedene Einträge existieren. Indiziert man diese Einträge über den Filesystemnamen, so kann man grundsätzlich nur den ersten Eintrag erreichen. Somit eignet sich die Indizierung über den Filesystemnamen nicht für diese Tabelle.

Teilt man nun die 'filesytem table' in eine 'predefined filesystem table' und eine 'mounted filesystem table' und indiziert man die erste über den fortlaufenden Index und die zweite über den Filesystemnamen, so kann man die oben beschriebenen Probleme einfach umgehen. Die Informationen bzw. Einträge zur 'predefined filesystem table' werden aus der Datei /etc/fstab gelesen, die Einträge und Informationen für die 'mounted filesystem table' werden der Datei /etc/mtab entnommen bzw. durch die entsprechenden Systemaufrufe gewonnen. Durch die Ummodellierung war es nun möglich alle Variablen vollständig zu implementieren.

Die 'backup table' die sich ursprünglich innerhalb der 'filesystem table' befand, wird nun als Tabelle in die 'predefined filesystem table' aufgenommen. Zur Implementierung der beiden Variablen 'fsBackupLevel' und 'fsBackupDate' wird auf die Datei /etc/dumpdates zugegriffen, die Informationen über gelaufene Backups enthält.


next up previous contents
Next: Process Group Up: GET-Funktionen Previous: Partition Group
Copyright Munich Network Management Team