FS Ext4:n Linux-ydin sisältää tuen toiminnalle, jossa kirjainkokoa ei erotella

Ted Ts'o, ext2/ext3/ext4-tiedostojärjestelmien kirjoittaja, hyväksytty Linux-seuraavaan haaraan, joka muodostaa perustan Linux 5.2 -ytimen julkaisulle, set muutoksia, jotka tukevat Ext4-tiedostojärjestelmän toimintoja, joissa kirjainkokoa ei erotella. Korjaukset lisäävät myös UTF-8-merkkien tuen tiedostonimiin.

Toimintatila, jossa kirjainkoolla ei ole merkitystä, on valinnaisesti käytössä yksittäisissä hakemistoissa käyttämällä uutta attribuuttia "+F" (EXT4_CASEFOLD_FL). Kun tämä attribuutti on asetettu hakemistoon, kaikki tiedostot ja alihakemistot sisällä olevat toiminnot eivät erota kirjainkoosta, mukaan lukien kirjainkoko jätetään huomiotta haettaessa ja avattaessa tiedostoja (esim. Test.txt-, test.txt- ja test.TXT-tiedostot sellaisissa tiedostoissa hakemistoja pidetään samoina). Oletusarvoisesti, lukuun ottamatta hakemistoja, joissa on "+F"-attribuutti, tiedostojärjestelmä on edelleen kirjainkoolla. Muokattu joukko apuohjelmia tarjotaan tilan, jossa kirjainkoolla ei ole merkitystä, sisällyttämisen hallitsemiseen e2fsprogs.

Laastarit on valmistanut Gabriel Krisman Bertazi Collaborasta ja hyväksytty seitsemäs yrittää jälkeen kolme vuotta kommenttien kehittäminen ja poistaminen. Toteutus ei muuta levytallennusmuotoa ja toimii yksinomaan nimivertailulogiikan muuttamisen tasolla ext4_lookup()-funktiossa ja tiivisteen korvaamisessa dcache-rakenteessa (Directory Name Lookup Cache). Attribuutin "+F" arvo tallennetaan yksittäisten hakemistojen inodeihin ja leviää kaikkiin sisäkkäisiin tiedostoihin ja alihakemistoihin. Koodaustiedot tallennetaan superlohkoon.

Jotta vältetään törmäykset olemassa olevien tiedostojen nimien kanssa, "+F"-attribuutti voidaan asettaa vain tyhjiin hakemistoihin tiedostojärjestelmissä, joissa on Unicode-tuki käytössä tiedostojen ja hakemistojen nimissä liitosvaiheen aikana. Hakemistomerkintöjen nimet, joille "+F"-attribuutti on käytössä, muunnetaan automaattisesti pieniksi kirjaimille ja näkyvät tässä muodossa dcachessa, mutta ne tallennetaan levylle käyttäjän alun perin asettamassa muodossa, ts. huolimatta nimien käsittelystä kirjainkoosta riippumatta, nimet näytetään ja tallennetaan menettämättä tietoja merkkien kirjainkoosta (mutta järjestelmä ei salli sinun luoda tiedostonimeä samoilla merkeillä, mutta eri kirjainkoolla).

Lähde: opennet.ru

Lisää kommentti