Nucleul Linux pentru sistemul de fișiere Ext4 include suport pentru operarea fără majuscule

Ted Ts'o, autorul sistemelor de fișiere ext2/ext3/ext4, admis la ramura Linux-next, pe baza căreia se va forma lansarea nucleului Linux 5.2, un set schimbări, implementând suport pentru operațiunile care nu țin cont de majuscule și minuscule în sistemul de fișiere Ext4. Patch-urile adaugă și suport pentru caracterele UTF-8 în numele fișierelor.

Modul de operare care nu ține seama de majuscule și minuscule este activat opțional în legătură cu directoarele individuale folosind noul atribut „+F” (EXT4_CASEFOLD_FL). Atunci când acest atribut este setat pe un director, toate operațiunile cu fișiere și subdirectoare în interior vor fi efectuate fără a se ține cont de majusculele caracterelor, inclusiv majusculele vor fi ignorate la căutarea și deschiderea fișierelor (de exemplu, fișierele Test.txt, test.txt și test.TXT în astfel de directoare vor fi considerate la fel). În mod implicit, cu excepția directoarelor cu atributul „+F”, sistemul de fișiere continuă să fie sensibil la majuscule și minuscule. Pentru a controla includerea modului care nu ține seama de majuscule și minuscule, este oferit un set modificat de utilități e2fsprogs.

Patch-urile au fost pregătite de Gabriel Krisman Bertazi, angajat al Collabora, și acceptate cu al șaptelea încercări după trei ani dezvoltarea și eliminarea comentariilor. Implementarea nu face modificări la formatul de stocare pe disc și funcționează numai la nivelul modificării logicii de comparare a numelor în funcția ext4_lookup() și înlocuirea hash-ului în structura dcache (Directory Name Lookup Cache). Valoarea atributului „+F” este stocată în inodul directoarelor individuale și este propagată la toate subfișierele și subdirectoarele. Informațiile de codificare sunt stocate într-un superbloc.

Pentru a evita coliziunile cu numele fișierelor existente, atributul „+F” poate fi setat doar pe directoarele goale din sistemele de fișiere în care suportul Unicode în numele fișierelor și directoarelor este activat în etapa de montare. Numele elementelor de director pentru care este activat atributul „+F” sunt convertite automat în litere mici și reflectate în această formă în dcache, dar sunt salvate pe disc în forma specificată inițial de utilizator, adică. În ciuda procesării numelor, indiferent de majuscule, numele sunt afișate și salvate fără a pierde informații despre majusculele caracterelor (dar sistemul nu vă va permite să creați un nume de fișier cu aceleași caractere, ci într-un caz diferit).

Sursa: opennet.ru

Adauga un comentariu