Iyo Linux kernel yeExt4 faira system inosanganisira tsigiro ye-case-insensitive operation

Ted Ts'o, munyori we ext2/ext3/ext4 mafaera masisitimu, zvakagamuchirwa kuLinux-inotevera bazi, pahwaro hwekuburitswa kweLinux 5.2 kernel ichaumbwa, seti. shanduko, kushandisa tsigiro yezviitiko zvisinganzwisisike muExt4 faira system. Iwo mapeche anowedzerawo rutsigiro rweUTF-8 mavara mumazita emafaira.

Iyo kesi-insensitive yekushandisa modhi inogoneswa nesarudzo maererano nemadhairekitori ega ega uchishandisa iwo hunhu hutsva "+F" (EXT4_CASEFOLD_FL). Kana hunhu uhu hwaiswa pane dhairekitori, mashandiro ese ane mafaera uye subdirectories mukati anozoitwa pasina kurangarira nyaya yevatambi, kusanganisira iyo kesi icharegedzerwa pakutsvaga nekuvhura mafaera (semuenzaniso, mafaira Test.txt, test.txt uye test.TXT mumadhairekitori akadaro anozoonekwa akafanana). Nekumisikidza, kunze kwemadhairekitori ane "+ F" hunhu, iyo faira system inoramba ichinetsa. Kuti udzore kubatanidzwa kwe-case-insensitive mode, yakagadziridzwa seti yezvishandiso inopihwa eprwoprogs.

Zvigamba zvakagadzirirwa naGabriel Krisman Bertazi, mushandi weCollabora, uye akagamuchirwa nazvo wechinomwe kuedza pashure makore matatu kuvandudzwa uye kubviswa kwemhinduro. Kuitwa hakuite shanduko kudhisiki yekuchengetera fomati uye inoshanda chete pamwero wekuchinja zita rekuenzanisa logic mune ext4_lookup () basa uye kutsiva hashi mune dcache (Directory Zita Lookup Cache) chimiro. Kukosha kwe "+ F" hunhu hunochengetwa mukati meiyo inode yemadhairekitori ega uye inoparadzirwa kune ese ma subfiles uye subdirectories. Iyo encoding ruzivo inochengetwa mu superblock.

Kuti udzivise kudhumhana nemazita emafaira aripo, iyo "+ F" hunhu hunogona kungoiswa pane isina madhairekitori mumafaira masisitimu umo Unicode inotsigira mufaira uye mazita edhairekitori inogoneswa padanho rekukwira. Mazita ezvinyorwa zvedhairekitori izvo "+ F" hunhu hunoitwa anoshandurwa otomatiki kuita madiki uye anoratidzwa mune iyi fomu mu dcache, asi anochengetwa padhisiki muchimiro chakatanga kutaurwa nemushandisi, i.e. Pasinei nekugadziriswa kwemazita pasinei nemhosva, mazita anoratidzwa uye anochengetwa pasina kurasikirwa nemashoko pamusoro penyaya yevatambi (asi iyo system haizokubvumiri iwe kugadzira zita refaira rine mavara akafanana, asi mune imwe nyaya).

Source: opennet.ru

Voeg