Jedro Linuxa za datotečni sistem Ext4 vključuje podporo za delovanje, ki ne razlikuje med velikimi in malimi črkami

Ted Ts'o, avtor datotečnih sistemov ext2/ext3/ext4, sprejeto veji Linux-next, na podlagi katere bo oblikovana izdaja jedra Linux 5.2, nabor spremembe, implementacijo podpore za operacije, ki ne razlikujejo med velikimi in malimi črkami, v datotečnem sistemu Ext4. Popravki dodajo tudi podporo za znake UTF-8 v imenih datotek.

Način delovanja, ki ne razlikuje med velikimi in malimi črkami, je opcijsko omogočen za posamezne imenike z novim atributom “+F” (EXT4_CASEFOLD_FL). Ko je ta atribut nastavljen v imeniku, bodo vse operacije z datotekami in podimeniki v notranjosti izvedene brez upoštevanja velikih in malih črk, vključno z velikimi in malimi črkami, ki bodo prezrte pri iskanju in odpiranju datotek (na primer datoteke Test.txt, test.txt in test.TXT v takih imenikih bosta obravnavana kot enaka). Privzeto, z izjemo imenikov z atributom »+F«, je datotečni sistem še naprej občutljiv na velike in male črke. Za nadzor vključitve načina, ki ne razlikuje med velikimi in malimi črkami, je na voljo spremenjen nabor pripomočkov e2fsprogs.

Obliže je pripravil Gabriel Krisman Bertazi, zaposleni v Collabori, sprejel pa jih je sedmi poskusi po tri leta razvoj in odpravljanje pripomb. Implementacija ne spreminja formata pomnilnika diska in deluje izključno na ravni spreminjanja logike primerjave imen v funkciji ext4_lookup() in zamenjave zgoščene vrednosti v strukturi dcache (Directory Name Lookup Cache). Vrednost atributa "+F" je shranjena znotraj inode posameznih imenikov in se razširi na vse poddatoteke in podimenike. Informacije o kodiranju so shranjene v superbloku.

Da bi se izognili kolizijam z imeni obstoječih datotek, lahko atribut “+F” nastavite samo na prazne imenike v datotečnih sistemih, v katerih je podpora Unicode v imenih datotek in imenikov omogočena v fazi namestitve. Imena elementov imenika, za katere je aktiviran atribut »+F«, se samodejno pretvorijo v male črke in se odražajo v tej obliki v dcacheju, vendar se shranijo na disk v obliki, ki jo je uporabnik prvotno določil, tj. Kljub obdelavi imen ne glede na velike in male črke se imena prikažejo in shranijo brez izgube podatkov o velikih in malih črkah znakov (vendar vam sistem ne bo dovolil ustvariti imena datoteke z enakimi znaki, vendar v različnih velikih in malih črkah).

Vir: opennet.ru

Dodaj komentar