A Phoronix informou em 29 de outubro de 2026 que uma mudança no driver FAT havia sido integrada ao Linux 7.4 naquela semana. O patch, de Matheus Alves de Almeida, agrupa a alocação de clusters no caminho FALLOC_FL_KEEP_SIZE. O maior resultado reportado, 265,4×, veio de um teste de pré-alocação, não de uma medição de cópia de arquivos.

Como o patch muda a alocação do FAT32

FALLOC_FL_KEEP_SIZE permite pré-alocar espaço em disco sem alterar o tamanho informado do arquivo. Cluster é uma unidade de alocação do sistema de arquivos. Em patch datado de 12 de outubro de 2026, Matheus Alves de Almeida propôs trocar chamadas repetidas para alocar um cluster por uma única chamada que recebe a quantidade solicitada, no caminho fat_fallocate() do driver FAT.

A mudança reduz a repetição de chamadas nessa operação específica. Segundo o autor do patch, o efeito é especialmente grande em montagens síncronas, porque o código pode agrupar atualizações FAT em vez de tratar cada alocação de cluster separadamente.

Usuários Linux também citam o FAT32 em partições EFI, sistemas embarcados e mídias removíveis compartilhadas entre sistemas e dispositivos.

O teste por trás dos 265,4×

Diagrama conceitual que compara várias solicitações de um cluster a uma única solicitação de vários clusters.

O maior resultado da matriz foi obtido com 16 arquivos de 16 MiB, clusters FAT32 de 4.096 bytes e montagem síncrona. O tempo total do loop caiu de 92,489 para 0,348 segundo; o patch reporta uma média aritmética de 10 amostras. O ambiente indicado foi QEMU/KVM, com dispositivo virtio-blk e cache=none.

Entre os 12 casos publicados pelo patch, o menor resultado foi 5,3×. Ele corresponde a 128 arquivos de 16 KiB, clusters de 512 bytes e montagem não síncrona. O loop levou 1,287 ms antes e 0,241 ms depois, também como média de 10 amostras.

CasoArquivos e tamanho por arquivoCluster FAT32Montagem síncronaTempo total do loop antesTempo total do loop depoisAceleração reportadaAmostras
Maior resultado16 arquivos de 16 MiB4.096 bytesSim92,489 s0,348 s265,4×10
Menor resultado entre os 12 casos128 arquivos de 16 KiB512 bytesNão1,287 ms0,241 ms5,3×10

Pré-alocação não é cópia de arquivos

O loop cronometrado repetia chamadas a fallocate() com FALLOC_FL_KEEP_SIZE, uma por arquivo. Assim, os 265,4× descrevem esse trabalho de pré-alocação na configuração indicada. O teste não mediu a velocidade de cópia, leitura ou gravação comum de arquivos FAT32.