Ted Tsâo, autore dei file system ext2/ext3/ext4, nel ramo Linux-next, sul quale sarĂ basata la versione del kernel Linux 5.2, una serie , che implementano il supporto per operazioni senza distinzione di maiuscole e minuscole nel file system Ext4. Le patch aggiungono anche il supporto per i caratteri UTF-8 nei nomi dei file.
La modalitĂ di funzionamento senza distinzione di maiuscole e minuscole puĂČ essere attivata per singoli directory tramite un 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 delle maiuscole, inclusa l'ignoranza del caso durante le operazioni di ricerca e apertura dei file (ad esempio, i file Test.txt, test.txt e test.TXT in tali directory verranno considerati uguali). Di default, eccetto per le directory con l'attributo «+F», il file system rimane sensibile al caso. Per gestire l'attivazione della modalitĂ senza distinzione di maiuscole e minuscole, Ăš stato proposto un set modificato di utility .
Le patch sono state preparate da Gabriel Krisman Bertazi, dipendente dell'azienda Collabora, e sono state accettate al tentativo dopo di sviluppo e risoluzione dei problemi. L'implementazione non modifica il formato di memorizzazione su disco e opera esclusivamente a livello di modifica della logica di confronto dei nomi nella funzione ext4_lookup() e nella sostituzione dell'hash nella struttura dcache (Directory Name Lookup Cache). Il valore dell'attributo «+F» Ú memorizzato all'interno dell'inode di singole directory e si applica a tutti i file e sottodirectory contenuti. Le informazioni sulla codifica sono conservate nel superblocco.
Per evitare conflitti con i nomi dei file esistenti, l'attributo «+F» puĂČ essere impostato solo su directory vuote nei file system in cui Ăš attivato il supporto Unicode per i nomi di file e directory durante la fase di montaggio. I nomi degli elementi delle directory per cui Ăš attivato l'attributo «+F» vengono automaticamente convertiti in minuscolo e riflessi in tal modo nella dcache, ma vengono memorizzati su disco nella forma originariamente fornita dall'utente, cioĂš, nonostante l'elaborazione dei nomi senza considerazione del caso, i nomi vengono mostrati e salvati senza perdere informazioni sul caso dei caratteri (ma il sistema non permetterĂ di creare un nome di file con gli stessi caratteri, ma in altro caso).
Fonte: opennet.ru
