Samstag, 15. November 2008

Dateisystem prüfen mit "checkfs"

Axel Dörfler hat mit "checkfs" ein Tool entwickelt, um Dateisysteme zu überprüfen und kleinere Fehler zu korrigieren. BFS hat designbedingt das Manko, dass es bei Abstürzen dazu kommen kann, dass Speicherbereiche von gelöschten Dateien unter Umständen nicht freigegeben werden. Zu diesem Thema hatte er schon mal einen Artikel geschrieben.

Wem also Haiku öfters mal abstürzt, was in der (pre-)Alpha-Phase ja durchaus vorkommt, sollte sein Dateisystem regelmäßig überprüfen.

checkfs geht bei seiner Arbeit alle Dateien samt Attributen und Indices durch und setzt dabei die tatsächlich beanspruchten Speicherblöcke neu. Außerdem werden kaputte Inodes gelöscht. Wurden ein Fehler korrigiert, wird eine entsprechende Meldung ausgegeben. Die Option --check-only zeigt diese Fehler nur an ohne sie zu beheben.

Dabei ist checkfs nur ein Befehl, der mittels der noch nicht öffentlichen Disk Device API das jeweilige Dateisystem die Arbeit machen lässt. Das ganze würde also auch mit anderen Dateisystemen funktionieren, sofern sie mit der nötigen Funktionalität implementiert wurden. Zur Zeit ist das allerdings nur BFS.

Axel nutzt checkfs um sicherstellen, dass kaputte Datenstrukturen nicht durch BFS selbst erzeugt wurden. So konnten schon einige der schwerwiegenden, datengefährdenden Bugs gefunden werden, die die angestrebte Alpha Release noch aufhalten.

Keine Kommentare:

Kommentar veröffentlichen