Linux-kjernen for Ext4-filsystemet inkluderer støtte for bruk som ikke skiller mellom store og små bokstaver

Ted Ts'o, forfatter av ext2/ext3/ext4 filsystemer, akseptert til Linux-neste gren, på grunnlag av hvilken utgivelsen av Linux 5.2-kjernen vil bli dannet, et sett Endringer, implementerer støtte for operasjoner som ikke skiller mellom store og små bokstaver i Ext4-filsystemet. Patchene legger også til støtte for UTF-8-tegn i filnavn.

Driftsmodusen som ikke skiller mellom store og små bokstaver er valgfritt aktivert i forhold til individuelle kataloger ved å bruke det nye attributtet "+F" (EXT4_CASEFOLD_FL). Når dette attributtet er satt på en katalog, vil alle operasjoner med filer og underkataloger inni bli utført uten å ta hensyn til store og små bokstaver, inkludert store og små bokstaver vil bli ignorert når du søker og åpner filer (for eksempel filene Test.txt, test.txt og test.TXT i slike kataloger vil bli vurdert som det samme). Som standard, med unntak av kataloger med "+F"-attributtet, fortsetter filsystemet å skille mellom store og små bokstaver. For å kontrollere inkluderingen av modus som ikke skiller mellom store og små bokstaver, tilbys et modifisert sett med verktøy e2fsprogs.

Plastrene ble utarbeidet av Gabriel Krisman Bertazi, en ansatt i Collabora, og akseptert med sjuende forsøk etter tre år utvikling og eliminering av kommentarer. Implementeringen gjør ikke endringer i disklagringsformatet og fungerer utelukkende på nivået med å endre navnesammenligningslogikken i ext4_lookup()-funksjonen og erstatte hashen i dcache-strukturen (Directory Name Lookup Cache). Verdien av "+F"-attributtet lagres i inoden til individuelle kataloger og spres til alle underfiler og underkataloger. Kodingsinformasjonen lagres i superblokken.

For å unngå kollisjoner med navnene på eksisterende filer, kan "+F"-attributtet bare settes på tomme kataloger i filsystemer der Unicode-støtte i fil- og katalognavn er aktivert på monteringsstadiet. Navnene på katalogelementer som "+F"-attributtet er aktivert for, konverteres automatisk til små bokstaver og reflekteres i dette skjemaet i dcache, men lagres på disken i den formen som opprinnelig ble spesifisert av brukeren, dvs. Til tross for behandling av navn uavhengig av store og små bokstaver, vises og lagres navn uten å miste informasjon om store og små bokstaver (men systemet vil ikke tillate deg å lage et filnavn med de samme tegnene, men i et annet tilfelle).

Kilde: opennet.ru

Legg til en kommentar