Linux ext4 "extents" -Attribut

9

Ich habe das eAttribut auf mehreren Dateien / Verzeichnissen auf Linux-Computern bemerkt, die auf ext4-Dateisystemen installiert sind.

[[email protected] ~]$ lsattr -d /bin
-------------e- /bin

Nach chattr(1):

Das Attribut 'e' gibt an, dass die Datei Extents zum Zuordnen der Blöcke auf der Festplatte verwendet. Es darf nicht mit chattr (1) entfernt werden.

Inwiefern ist dies anders und was noch wichtiger ist, inwiefern ist dieses Detail von Bedeutung - insbesondere warum ist dieses Detail wichtig genug, um als Dateiattribut gemeldet zu werden? Unter welchen Umständen sollte ich jemals mein Verhalten ändern, basierend auf dem Wissen, dass diese Datei "Extents zum Zuordnen der Blöcke auf der Festplatte verwendet"? Vermutlich muss ich das wissen, sonst wäre es nicht so offensichtlich, oder?

tylerl
quelle

Antworten:

13

Ich denke, das Extent-Flag wird hauptsächlich als Attribut angezeigt, damit Sie es festlegen können chattr, wodurch der ext4-Treiber die Datei mithilfe von Extents anstelle von Blocklisten neu zuordnet. Wenn Sie ein vorhandenes ext3-Dateisystem in ext4 konvertiert haben (indem Sie tune2fsdie neuen Feature-Flags aktivieren), möchten Sie wahrscheinlich die vorhandenen Dateien so konvertieren, dass sie Extents verwenden. Auf diese Weise können Sie dies tun.

Neu erstellte Dateien in einem ext4-Dateisystem verwenden immer Extents (soweit ich weiß). Wenn Ihr Dateisystem also als ext4 erstellt wurde (im Gegensatz zur Konvertierung von ext3), sollte alles bereits das Extent-Attribut haben, damit Sie es nicht benötigen Sorgen Sie sich darum.

Weitere Informationen finden Sie in diesem Artikel .

Wyzard
quelle
KVPM v0.9.9 -> Dateisystem schreiben -> zusätzliche ext4-Optionen -> Extents verwenden. Es sieht so aus, als würde es die fs ohne Extents erzeugen. Wie Sie sagten, sollte es bereits markiert / aktiviert oder deaktiviert (unveränderlich) sein, ziemlich verwirrend, könnte ein kvpm-Schnittstellenfehler sein? Aber jetzt glaube ich, dass es Standardoptionen gibt, und wenn wir versuchen, solche Flags zu setzen, können wir diese Standardeinstellungen ändern. Es zeigt uns nur nicht, was die Standardeinstellungen sind! wahrscheinlich ...
Aquarius Power
1
@AquariusPower, bei dieser Frage geht es um das Extents-Flag für eine einzelne Datei. In KVPM wird jedoch angezeigt, ob das neue Dateisystem Extents überhaupt unterstützen soll. Wenn Sie dies deaktivieren, werden allen Dateien Sperrlisten zugewiesen und sie haben nicht das Attribut "e". Wenn Sie später tune2fs -O extentauf dem Dateisystem ausführen , um Speicherbereiche zu aktivieren, haben neue Dateien das Attribut "e", bereits vorhandene jedoch erst, wenn Sie chattr +edie Datei erhalten.
Wyzard