Linux-kernen til FS Ext4 inkluderer understøttelse af betjening, der ikke skelner mellem store og små bogstaver

Ted Ts'o, forfatter til ext2/ext3/ext4 filsystemer, accepteret til Linux-next-grenen, der vil danne grundlaget for Linux 5.2-kerneudgivelsen, sæt ændringer, som implementerer understøttelse af handlinger, der ikke skelner mellem store og små bogstaver, i Ext4-filsystemet. Patcherne tilføjer også understøttelse af UTF-8-tegn i filnavne.

Driftstilstanden, der ikke skelner mellem store og små bogstaver, er valgfrit aktiveret i forhold til individuelle mapper ved hjælp af den nye attribut "+F" (EXT4_CASEFOLD_FL). Når denne attribut er indstillet på en mappe, vil alle handlinger med filer og undermapper inde være store og små bogstaver, inklusive store og små bogstaver vil blive ignoreret ved søgning og åbning af filer (f.eks. Test.txt, test.txt og test.TXT filer i sådanne mapper vil blive betragtet som det samme). Som standard, med undtagelse af mapper med attributten "+F", fortsætter filsystemet med at skelne mellem store og små bogstaver. For at kontrollere inkluderingen af ​​tilstanden, der ikke skiller mellem store og små bogstaver, tilbydes et ændret sæt hjælpeprogrammer e2fsprogs.

Patches udarbejdet af Gabriel Krisman Bertazi fra Collabora og accepteret med syvende forsøg efter XNUMX år udvikling og fjernelse af kommentarer. Implementeringen ændrer ikke disklagerformatet og fungerer udelukkende på niveau med at ændre navnesammenligningslogikken i ext4_lookup()-funktionen og erstatte hashen i dcachen (Directory Name Lookup Cache)-strukturen. Værdien af ​​"+F"-attributten gemmes i inoderne af individuelle mapper og spredes til alle indlejrede filer og undermapper. Kodningsoplysninger gemmes i superblokken.

For at undgå kollisioner med navnene på eksisterende filer kan "+F"-attributten kun indstilles til tomme mapper i filsystemer, der har Unicode-understøttelse aktiveret i fil- og mappenavne under monteringsfasen. Navnene på biblioteksposter, for hvilke "+F"-attributten er aktiveret, konverteres automatisk til små bogstaver og afspejles i denne form i dcache, men gemmes på disken i den form, som brugeren oprindeligt havde indstillet, dvs. på trods af behandlingen af ​​navne uanset store og små bogstaver, vises og gemmes navnene uden at miste information om bogstavernes store og små bogstaver (men systemet vil ikke tillade dig at oprette et filnavn med de samme tegn, men i et andet tilfælde).

Kilde: opennet.ru

Tilføj en kommentar