Ted Ts'o, forfatteren av filsystemene ext2/ext3/ext4, i grenen Linux-deretter, basert på hvilken kjerneutgivelsen vil bli dannet Linux 5.2, sett , implementerer støtte for operasjoner som ikke skiller mellom store og små bokstaver i Ext4-filsystemet. Oppdateringene legger også til støtte for UTF-8-tegn i filnavn.
Modusen for å ikke skille mellom store og små bokstaver er valgfritt aktivert for individuelle kataloger ved hjelp av det nye attributtet "+F" (EXT4_CASEFOLD_FL). Når dette attributtet er satt på en katalog, vil alle operasjoner med filer og underkataloger i bli utført uten hensyn til store og små bokstaver, inkludert å ignorere bruk av store og små bokstaver under filsøk og åpningsoperasjoner (for eksempel vil filene Test.txt, test.txt og test.TXT i slike kataloger bli ansett som de samme). Som standard, med unntak av kataloger med attributtet "+F", fortsetter FS å være følsom for store og små bokstaver. Et modifisert sett med verktøy tilbys for å kontrollere inkluderingen av modusen for ikke-følsom for store og små bokstaver. .
Oppdateringer utarbeidet av Gabriel Krisman Bertazi, en Collabora-ansatt, og akseptert av forsøk etter utvikling og eliminering av kommentarer. Implementeringen gjør ikke endringer i disklagringsformatet og fungerer utelukkende på nivået med å endre logikken for navnesammenligning i ext4_lookup()-funksjonen og erstatte hashen i dcache-strukturen (Directory Name Lookup Cache). Verdien til attributtet "+F" lagres i inoden til individuelle kataloger og gjelder for alle nestede filer og underkataloger. Informasjon om kodingen lagres i superblokken.
For å unngå kollisjoner med navnene på eksisterende filer, kan attributtet "+F" bare settes på tomme kataloger i filsystemer der Unicode-støttemodus i fil- og katalognavn er aktivert i monteringsfasen. Navnene på katalogelementer der attributtet "+F" er aktivert, konverteres automatisk til små bokstaver og vises i denne formen i dcache, men lagres på disk i formen som opprinnelig ble spesifisert av brukeren, dvs. til tross for den store- og småbokstaveruavhengige behandlingen av navn, vises og lagres navnene uten å miste informasjon om store og små bokstaver (men systemet vil ikke tillate deg å opprette et filnavn med de samme tegnene, men med en annen stor og liten bokstav).
Kilde: opennet.ru
