In der kommenden Kernel-Version von Linux 7.2 hat das exFAT-Dateisystem die Umstellung auf die IOmap-Infrastruktur abgeschlossen, was zu erheblichen Leistungsverbesserungen und gleichzeitig zu einer Reihe von Korrekturen und Codeoptimierungen führt.

image.webp

Namjae Jeon, ein Entwickler, der seit langem den exFAT-Dateisystemcode des Linux-Kernels pflegt, ist auch der Betreuer des neuen NTFS-Treibers. In dieser Integrationsrunde schloss er die Anpassung des exFAT-Treibers an IOmap ab. Derzeit wurde der exFAT-Treiber unter Linux migriert, um IOmap zur Verarbeitung von gepufferter E/A (gepufferte E/A), direkter E/A (direkter E/A) und Vorgängen wie SEEK_HOLE/SEEK_DATA in LLSEEK zu verwenden. IOmap ist ein allgemeines Framework im Linux-Kernel zum Zuordnen logischer Dateioffsets zu physischen Speicherblöcken. Ziel ist es, den zuvor im Kernel verwendeten Pufferkopfmechanismus zu ersetzen und die gemeinsame Dateioperationslogik in mehreren Dateisystemen einheitlich zu handhaben.

Den an die Kernel-Mailingliste übermittelten Patchnotizen zufolge wurden im Leistungsbenchmark-Test „sehr gute Leistungsverbesserungen“ erzielt, nachdem gängige exFAT-Vorgänge auf IOmap umgestellt wurden. Der Beamte fasste die Testergebnisse auch wie folgt zusammen: „Die Leistungsverbesserung ist sehr beeindruckend.“ Obwohl in den Nachrichten keine spezifischen numerischen Details bekannt gegeben wurden, wurden der Durchsatz und die Reaktion der neuen Version von exFAT, gemessen an der Gesamtleistung des Benchmark-Tests, in einer Vielzahl typischer Szenarien deutlich verbessert.

Dieser Satz von exFAT-Patches, die in Linux 7.2 integriert wurden, umfasst nicht nur die IOmap-Konvertierung, sondern auch mehrere Fehlerkorrekturen und Verbesserungen der Codequalität. Für Benutzer, die häufig exFAT (z. B. USB-Flash-Laufwerke, Wechselspeicherkarten und andere Wechselmedien) unter Linux verwenden, reichen allein die Leistungsvorteile von IOmap aus, um zu einem der wichtigen Gründe für ein Upgrade auf Linux 7.2 zu werden.