Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

C.7. Bmap-Tracepoints

Die Blockzuweisung ist eine Aufgabe von zentraler Bedeutung für jedes Dateisystem. GFS2 verwendet ein herkömmliches Bitmap-basiertes System mit zwei Bits pro Block. Der Hauptzweck der Tracepoints in diesem Subsystem besteht darin, die Zeit zu überwachen, die das Zuweisen und Eintragen der Blöcke in Anspruch nimmt.
Der Tracepoint gfs2_bmap wird zweimal für jede bmap-Operation aufgerufen: einmal zu Beginn, um die bmap-Anforderung anzuzeigen, und einmal am Ende, um das Ergebnis anzuzeigen. Dies macht es einfach, die Anforderungen und Ergebnisse einander zuzuordnen und die Zeit zu messen, die benötigt wurde, um Blöcke in verschiedenen Teilen des Dateisystems, in verschiedenen Datei-Offsets oder sogar in verschiedenen Dateien zuzuweisen. Es ist auch möglich festzustellen, welche Größen physischer Extents durchschnittlich zurückgegeben wird im Vergleich zu denen, die angefordert werden.
Um den Überblick über die zugewiesenen Blöcke zu behalten, wird gfs2_block_alloc nicht nur bei Zuweisungen, sondern auch bei der Freigabe von Blöcken aufgerufen. Da die Zuweisungen anhand des Inodes referenziert werden, für den der Block beabsichtigt ist, kann dies dazu verwendet werden, um nachzuverfolgen, welche physischen Blöcke zu welchen Dateien in einem aktiven Dateisystem gehören. Dies ist besonders in Kombination mit blktrace nützlich, was problematische I/O-Muster zeigen kann, die dann den jeweiligen Inodes zugeordnet werden können, die über diesen Tracepoint herausgefunden werden können.