Linuxové jadro 5.2 na Ext4 umožní vyhľadávanie bez rozlišovania malých a veľkých písmen

nerozlišuje

Ted ts'o, autor súborových systémov ext2 / ext3 / ext4, prijal pobočku Linux-next, na základ, z ktorého bude vytvorené vydanie Linux Kernel 5.2, súbor zmien, ktoré implementovať podporu pre operácie nezávislých prípadov v súborový systém Ext4.

Náplasti pridávajú tiež podporu pre znaky UTF-8 v názvoch súborov. Prevádzkový režim bez znakov je voliteľne zahrnutý do odkazu na samostatné adresáre pomocou nového atribútu „+ F“ (EXT4_CASEFOLD_FL).

Nerozlišujú sa veľké a malé písmená pre ext4

Keď je tento atribút nainštalovaný v adresári, všetky operácie so súbormi a podadresármi ktoré sú v nej nebude rozlišovať veľké a malé písmená, vrátane prípadu bude ignorovaný pri hľadaní a otváraní súborov (napr. Test.txt, test.txt a test.TXT v podobných adresároch) budú považované za rovnaké).

To znamená, že sa zhoduje s položkou adresára, aj keď názov používaný užívateľským priestorom nie je bajtom pre bajt, ktorý sa zhoduje s názvom disku, ale je ekvivalentnou verziou reťazca Unicode, ktorá rozlišuje veľké a malé písmená.

Táto operácia sa nazýva vyhľadanie názvu súboru bez ohľadu na veľkosť písmen. Táto funkcia je nakonfigurovaná ako atribút inode aplikovaný na adresáre a zdedený ich potomkami.

Tento atribút iba je možné povoliť na prázdnych adresárochs pre systémy súborov, ktoré podporujú funkciu kódovania, čím sa zabráni kolízii názvov súborov, ktoré sa líšia iba od prípadu k prípadu.

V predvolenom nastavení, s výnimkou adresárov s atribútom „+ F“, súborový systém stále rozlišuje veľké a malé písmená. Na kontrolu zahrnutia režimu bez rozlišovania malých a veľkých písmen je poskytnutá upravená sada obslužných programov e2fsprogs.

Táto oprava implementuje skutočnú podporu pre vyhľadávanie súborov bez rozlíšenia malých a veľkých písmen v ext4 na základe bitu funkcií a kódovania uloženého v superbloku.

Práca, ktorej príchod trval dlho

Náplasti pripravil Gabriel Krisman Bertazi, prispievateľ Collabora a boli prevzaté zo siedmeho pokusu po troch rokoch vývoja a vypustenia komentárov.

Implementácia nerobí zmeny vo formáte ukladacieho priestoru na disku a funguje výlučne na úrovni zmeny logiky porovnávania názvov vo funkcii ext4_lookup () a výmeny hash v štruktúre dcache (Directory Name Lookup Cache).

Hodnota atribútu „+ F“ je uložená v inódach jednotlivých adresárov a vzťahuje sa na všetky pripojené súbory a podadresáre. Informácie o kódovaní sú uložené v superbloku.

Negatívne vyhľadávania sa zatiaľ do dcache nevkladajú, pretože by museli byť aj tak zneplatnené, pretože nemôžeme dôverovať chýbajúcim súborom.

To je zlé pre výkon, ale vyžaduje to určité využitie vrstvy vfs na opravu.

Zatiaľ môžeme žiť bez toho, ako všetci ostatní.

Aby sa zabránilo kolíziám s názvami existujúcich súborov, atribút "+ F" je možné nastaviť iba na prázdne adresáre v súborových systémoch, v ktorom je počas fázy pripojenia povolený režim podpory Unicode v názvoch súborov a adresárov.

Názvy prvkov adresára, pre ktoré je aktivovaný atribút "+ F" sú automaticky preložené na malé písmená a odrážajú sa týmto spôsobom v dcache, ale sú uložené na disku v podobe, ktorú si sám určil.

Nový hash disku sa počíta skôr ako hash celého reťazca prípadov, než ako reťazec priamo.

To znamená, že napriek spracovaniu mien bez ohľadu na prípad, mená sa zobrazujú a ukladajú bez straty informácií o veľkosti písmen (systém vám však neumožňuje vytvoriť názov súboru s rovnakými znakmi, ale v inom prípade).

Umožňuje tiež kódu VFS rýchlo nájsť správny záznam v pamäti cache, aj keď pri predchádzajúcom vyhľadávaní bol použitý ekvivalentný reťazec


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.