Phoronix informó el 29 de octubre de 2026 de que un cambio en el controlador FAT se había integrado en Linux 7.4. El cambio agrupa la asignación de clústeres en una ruta concreta de preasignación; la prueba más destacada midió esa operación, no la velocidad de una copia de archivos.
Qué cambia en la asignación de FAT32
La modificación afecta a FALLOC_FL_KEEP_SIZE, una opción de fallocate() que reserva espacio en disco sin cambiar el tamaño que muestra el archivo. En la ruta de FAT que amplía esa reserva, el código anterior pedía los clústeres de uno en uno. El parche pasa la cantidad solicitada a una sola llamada a fat_add_clusters().
Una llamada para asignar varios clústeres
La diferencia está en cómo se solicita la asignación: varias llamadas para un clúster cada una pasan a una llamada que pide el número de clústeres necesario. El diagrama representa ese cambio de estructura, no una disposición física concreta de los clústeres.
Qué midió la prueba de rendimiento
Matheus Alves de Almeida, autor del parche, midió un bucle que llamaba a fallocate() una vez por archivo con FALLOC_FL_KEEP_SIZE. En el caso con el mayor resultado comunicado, el bucle procesó 16 archivos de 16 MiB, con clústeres FAT32 de 4.096 bytes y un montaje síncrono: el tiempo total pasó de 92,489 a 0,348 segundos, como media de 10 muestras. La prueba se ejecutó en QEMU/KVM con un dispositivo virtio-blk y cache=none.
El autor explicó que la mejora es especialmente grande en montajes síncronos porque el código puede agrupar actualizaciones de FAT, en vez de procesar cada asignación de clúster por separado. Los resultados corresponden a esa configuración virtualizada.
Los extremos de los doce casos publicados
El menor resultado de los doce casos fue 5,3×. Correspondió a 128 archivos de 16 KiB, clústeres de 512 bytes y un montaje no síncrono. El bucle pasó de 1,287 a 0,241 milisegundos, como media de 10 muestras.
| Caso | Archivos y tamaño por archivo | Clúster FAT32 | Montaje síncrono | Tiempo total del bucle antes | Tiempo total del bucle después | Muestras |
| Mayor resultado comunicado | 16 de 16 MiB | 4.096 bytes | Sí | 92,489 s | 0,348 s | 10 |
| Menor resultado de la matriz | 128 de 16 KiB | 512 bytes | No | 1,287 ms | 0,241 ms | 10 |
Preasignar espacio no es copiar archivos
La cifra de rendimiento se refiere a llamadas repetidas a fallocate() con FALLOC_FL_KEEP_SIZE. La prueba no midió copias normales de archivos ni el rendimiento general de lectura o escritura en FAT32. Por eso, sus resultados describen esa ruta de preasignación y esas condiciones de prueba, no la velocidad de una transferencia cotidiana.
El cambio de asignación se había integrado en Linux 7.4, según el informe de Phoronix.