Il kernel Linux per il file system Ext4 include il supporto per operazioni senza distinzione tra maiuscole e minuscole

Ted Ts'o, autore dei file system ext2/ext3/ext4, accettato il al ramo Linux-next, sulla base del quale si formerà il rilascio del kernel Linux 5.2, un insieme cambiamento, implementando il supporto per operazioni senza distinzione tra maiuscole e minuscole nel file system Ext4. Le patch aggiungono anche il supporto per i caratteri UTF-8 nei nomi dei file.

La modalità operativa senza distinzione tra maiuscole e minuscole è abilitata opzionalmente in relazione alle singole directory utilizzando il nuovo attributo “+F” (EXT4_CASEFOLD_FL). Quando questo attributo è impostato su una directory, tutte le operazioni con file e sottodirectory al suo interno verranno eseguite senza tenere conto del caso dei caratteri, compreso il caso verrà ignorato durante la ricerca e l'apertura dei file (ad esempio, i file Test.txt, test.txt e test.TXT in tali directory saranno considerati uguali). Per impostazione predefinita, ad eccezione delle directory con l'attributo "+F", il file system continua a fare distinzione tra maiuscole e minuscole. Per controllare l'inclusione della modalità senza distinzione tra maiuscole e minuscole, viene offerto un set modificato di utilità e2fsprogs.

Le patch sono state preparate da Gabriel Krisman Bertazi, dipendente di Collabora, e accettate con settimo tentativi dopo tre anni sviluppo ed eliminazione dei commenti. L'implementazione non apporta modifiche al formato di archiviazione del disco e funziona esclusivamente a livello di modifica della logica di confronto dei nomi nella funzione ext4_lookup() e di sostituzione dell'hash nella struttura dcache (Directory Name Lookup Cache). Il valore dell'attributo "+F" viene memorizzato all'interno dell'inode delle singole directory e viene propagato a tutti i sottofile e sottodirectory. Le informazioni di codifica sono memorizzate nel superblocco.

Per evitare collisioni con i nomi dei file esistenti, l'attributo "+F" può essere impostato solo su directory vuote nei file system in cui il supporto Unicode nei nomi di file e directory è abilitato in fase di montaggio. I nomi degli elementi della directory per i quali è attivato l'attributo “+F” vengono automaticamente convertiti in minuscolo e riflessi in questa forma in dcache, ma vengono salvati su disco nella forma inizialmente specificata dall'utente, ad es. Nonostante l'elaborazione dei nomi indipendentemente dalle maiuscole e minuscole, i nomi vengono visualizzati e salvati senza perdere le informazioni sulle maiuscole e minuscole dei caratteri (ma il sistema non consentirà di creare un nome file con gli stessi caratteri, ma in un caso diverso).

Fonte: opennet.ru

Aggiungi un commento