Linux kernel za FS Ext4 uključuje podršku za rad bez obzira na velika i mala slova

Ted Ts'o, autor ext2/ext3/ext4 sistema datoteka, prihvaćen na Linux-sljedeću granu koja će činiti osnovu izdanja jezgra Linuxa 5.2, set promjene, koji implementiraju podršku za operacije koje ne razlikuju velika i mala slova u sistemu datoteka Ext4. Zakrpe takođe dodaju podršku za UTF-8 znakove u nazivima datoteka.

Način rada bez obzira na velika i mala slova je opciono omogućen u odnosu na pojedinačne direktorije koristeći novi atribut "+F" (EXT4_CASEFOLD_FL). Kada je ovaj atribut postavljen na direktorij, sve operacije s datotekama i poddirektorijumima unutar bit će neosjetljive na velika i mala slova, uključujući velika i mala slova će se zanemariti prilikom pretraživanja i otvaranja datoteka (na primjer, Test.txt, test.txt i test.TXT datoteke u takvim imenici će se smatrati istim). Podrazumevano, sa izuzetkom direktorijuma sa "+F" atributom, sistem datoteka nastavlja da bude osetljiv na velika i mala slova. Za kontrolu uključivanja načina rada bez obzira na velika i mala slova, nudi se modificirani skup uslužnih programa e2fsprogs.

Zakrpe koje je pripremio Gabriel Krisman Bertazi iz Collabora i prihvaćene sa sedmi pokušaji nakon tri godine razvoj i eliminacija komentara. Implementacija ne mijenja format za pohranu diska i radi isključivo na razini promjene logike poređenja imena u funkciji ext4_lookup() i zamjene heša u dcache strukturi (Directory Name Lookup Cache). Vrijednost atributa "+F" pohranjena je unutar inode pojedinačnih direktorija i širi se na sve ugniježđene datoteke i poddirektorije. Informacije o kodiranju pohranjuju se u super blok.

Da bi se izbjegle kolizije s imenima postojećih datoteka, atribut "+F" se može postaviti samo na prazne direktorije u sistemima datoteka koji imaju omogućenu Unicode podršku u imenima datoteka i direktorija tokom faze montiranja. Imena unosa direktorija za koje je omogućen atribut "+F" automatski se konvertuju u mala slova i odražavaju u ovom obliku u dcache-u, ali se pohranjuju na disku u obliku koji je inicijalno postavio korisnik, tj. uprkos obradi imena bez obzira na velika i mala slova, imena se prikazuju i čuvaju bez gubljenja informacija o malim i velikim slovima (ali sistem vam neće dozvoliti da kreirate ime datoteke sa istim znakovima, ali u različitim velikim slovima).

izvor: opennet.ru

Dodajte komentar