Phoronix berichtete am 29. Oktober 2026, eine Änderung am FAT-Treiber sei in jener Woche in Linux 7.4 integriert worden. Der von Matheus Alves de Almeida veröffentlichte Spitzenwert von 265,4× stammt aus einem eng umrissenen Test zur Vorbelegung von Speicherplatz, nicht aus einem Dateikopiertest.
Was sich im FAT32-Treiber ändert
Der Patch ändert die Clusterzuweisung im FALLOC_FL_KEEP_SIZE-Pfad: Statt Speicherplatz wiederholt in Ein-Cluster-Schritten anzufordern, übergibt der FAT-Treiber die gewünschte Clusterzahl in einem Aufruf. FALLOC_FL_KEEP_SIZE dient dazu, Speicherplatz für eine Datei vorab zu reservieren, ohne ihre angezeigte Größe zu verändern.
Matheus Alves de Almeida legte den Patch am 12. Oktober 2026 vor. Phoronix meldete später die Integration in Linux 7.4.
Ein Aufruf für mehrere Cluster
Im bisherigen Ablauf rief fat_fallocate() für jeden Cluster einzeln fat_add_clusters(inode, 1) auf. Der Patch übergibt der Funktion stattdessen die angeforderte Clusterzahl in einem Aufruf.
Almeida erklärte, dass die Bündelung besonders bei synchron eingehängten Dateisystemen große Unterschiede bewirken könne: FAT-Aktualisierungen ließen sich dann zusammenfassen, statt jede Clusterzuweisung einzeln synchron zu behandeln.
Was der Benchmark hinter 265,4× misst
Der Test maß eine Schleife mit wiederholten fallocate()-Aufrufen samt FALLOC_FL_KEEP_SIZE. Laut Patch liefen die Tests in QEMU/KVM mit virtio-blk und cache=none; die Zeiten sind arithmetische Mittel der jeweiligen Stichproben. Die folgende Tabelle zeigt die höchsten und niedrigsten Ergebnisse unter den zwölf aufgeführten Fällen.
| Testfall | Dateien und Größe je Datei | FAT32-Clustergröße | Mount | Gesamtdauer vorher | Gesamtdauer nachher | Verbesserung | Stichproben |
| Höchster Wert | 16 × 16 MiB | 4.096 Byte | synchron | 92,489 s | 0,348 s | 265,4× | 10 |
| Niedrigster Wert | 128 × 16 KiB | 512 Byte | nicht synchron | 1,287 ms | 0,241 ms | 5,3× | 10 |
Die Zeiten gelten jeweils für die gesamte Schleife, nicht für eine einzelne Datei. Der niedrigste Wert ist das Minimum innerhalb dieser zwölf Testfälle.
Vorbelegung ist kein Dateikopiertest
Der Spitzenwert beschreibt die getestete Speicherplatz-Vorbelegung mit fallocate() und FALLOC_FL_KEEP_SIZE. Er ist keine Messung der Übertragungsgeschwindigkeit beim gewöhnlichen Kopieren von Dateien.