Wie sicher ist die Vorwärtskompatibilität in EXT4?

Wie sicher ist die Vorwärtskompatibilität in EXT4?

Ich habe eine Festplatte mit e2fsprogs 1.45.6-2 auf einem 64-Bit-ArchLinux (Kernel 5.4.50) EXT4-formatiert und mit Daten gefüllt. Anschließend habe ich sie auf einem anderen Computer mit 32-Bit-Debian Jessie (Kernel 3.16.84-1) mit e2fsprogs 1.42.12-2+deb8u2 installiert und eine einzelne Datei darauf kopiert.

Ist dieser Versionsunterschied problematisch und hat möglicherweise zu Schäden am Dateisystem geführt?

Während des Herunterfahrens des 32-Bit-Jessie-Systems bemerkte ich eine e2fsck-Fehlermeldung, die im Wesentlichen besagte, dass es aufgrund von metadata_csum nicht ausgeführt werden kann.

Also habe ich gegoogelt und herausgefunden, dass in 1.43 Metadaten-Prüfsummen eingeführt wurden: https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums

Was mir wirklich Unbehagen bereitet, ist das folgende Zitat ... Es sollte NICHT möglich sein, dass alter FS-Code in ein Dateisystem mit aktivierten Metadatenprüfsummen schreibt. Das Flag metadata_csum ist als ROCOMPAT-Flag implementiert, das verhindern soll, dass (nicht bösartige) alte Programme Dinge durcheinanderbringen.

Ich hatte damit gerechnet, dass ich das Dateisystem bei Kompatibilitätsproblemen überhaupt nicht mounten kann, aber ich befürchte wirklich, dass ich das FS durcheinandergebracht haben könnte.

Ich wäre für jede Hilfe sehr dankbar.

Bearbeiten: Ich habe GParted zum Erstellen des FS verwendet und in der Zwischenzeit erfahren, dass es im Gegensatz zu mke2fs standardmäßig Dateisysteme im 32-Bit-Modus für Laufwerke <16 TiB erstellt, was bei meinem 8-TB-Laufwerk der Fall ist. Ich habe dies überprüft, indem ich die von bereitgestellten Dateisystemfunktionen überprüft habe tune2fs -l /dev/sda | grep features, die sonst den Begriff „64 Bit“ enthalten würden.

Antwort1

Es gibt zwei separate Kompatibilitätsprüfungen; eine wird vom Kernel und die andere von den e2fsprogs-Dienstprogrammen durchgeführt. Der 3.16-Kernel unterstützt Metadaten-Prüfsummen, daher gab es beim Mounten keine Probleme. Die Version von e2fsprogs in Debian Jessie tat dies jedoch nicht. Versuche, das Dateisystem mit e2fsck zu prüfen, schlugen daher fehl, weil die Version von e2fsprogs zu alt war. Ich bin nicht sicher, welches Programm versucht hat, e2fsck auszuführen, aber anscheinend hat es den Exit-Status von e2fsck ignoriert und/oder vielleicht haben Sie es manuell gemountet.

Das erklärt, warum Sie das Dateisystem mounten konnten, obwohl e2fsck angab, dass es das Dateisystem nicht überprüfen könne.

Die andere Warnung ist jedoch, dass 3.16 einsehralter Kernel, und während einige Bugfixes zurückportiert werden, sind es nicht alle, und 3.16 hat schon vor langer, langer, langer Zeit aufgehört, zurückportiert zu werden. Und 3.16 kam ziemlich bald, nachdem Metadata Checksums eingeführt wurden, und ich kann nichtallegarantieren, dass es in 3.16.84 keine Fehler in Bezug auf Metadatenprüfsummen gibt. Aber wenn Sie nur eine einzige Datei in dieses Dateisystem kopiert haben und der Inhalt der Datei überprüft wird und eine moderne Version von e2fsck keine Probleme erkennt, ist wahrscheinlich alles in Ordnung.

verwandte Informationen