Ted Ts’o, autor de los sistemas de archivos ext2/ext3/ext4, en la rama Linux-next, a partir de la cual se formará la versión del núcleo de Linux 5.2, un conjunto , que implementa el soporte para operaciones sin distinción de mayúsculas en el sistema de archivos Ext4. Los parches también añaden soporte para caracteres UTF-8 en los nombres de archivos.
El modo de operación sin distinción de mayúsculas se puede habilitar opcionalmente en la vinculación a directorios individuales mediante un nuevo atributo “+F” (EXT4_CASEFOLD_FL). Al establecer este atributo en un directorio, todas las operaciones con archivos y subdirectorios dentro se realizarán sin tener en cuenta la distinción de mayúsculas, incluyendo que se ignorará la distinción durante las operaciones de búsqueda y apertura de archivos (por ejemplo, los archivos Test.txt, test.txt y test.TXT en dichos directorios se considerarán iguales). Por defecto, salvo en los directorios con el atributo “+F”, el sistema de archivos sigue siendo sensible a mayúsculas. Se propone un conjunto modificado de utilidades para gestionar la activación del modo sin distinción de mayúsculas. .
Los parches han sido preparados por Gabriel Krisman Bertazi, empleado de Collabora, y aceptados tras intento después de de desarrollo y corrección de errores. La implementación no altera el formato de almacenamiento en disco y funciona exclusivamente a nivel de cambio de la lógica de comparación de nombres en la función ext4_lookup() y sustitución del hash en la estructura dcache (Directorio de Búsqueda de Nombres). El valor del atributo “+F” se conserva dentro de los inodes de los directorios individuales y se extiende a todos los archivos y subdirectorios anidados. La información sobre la codificación se almacena en el superbloque.
Para evitar colisiones con los nombres de archivos existentes, el atributo “+F” solo puede ser establecido en directorios vacíos en sistemas de archivos donde se ha habilitado el modo de soporte Unicode en los nombres de archivos y directorios durante el montaje. Los nombres de los elementos de directorio para los cuales se ha activado el atributo “+F” se traducen automáticamente a minúsculas y se reflejan de esta manera en dcache, pero se mantienen en disco en la forma originalmente definida por el usuario, es decir, a pesar de que los nombres se tratan sin considerar mayúsculas, se muestran y se guardan sin perder información sobre la distinción de mayúsculas (pero el sistema no permitirá crear un nombre de archivo con los mismos caracteres, pero en diferente caso).
Fuente: opennet.ru
