Linuxové jádro pro FS Ext4 obsahuje podporu pro operace bez rozlišení velkých a malých písmen

Ted Ts'o, autor souborových systémů ext2/ext3/ext4, přijato do větve Linux-next, která bude tvořit základ pro vydání jádra Linux 5.2, set změny, které implementují podporu operací bez rozlišení velkých a malých písmen v souborovém systému Ext4. Záplaty také přidávají podporu pro znaky UTF-8 v názvech souborů.

Operační režim bez rozlišení malých a velkých písmen je volitelně povolen ve vztahu k jednotlivým adresářům pomocí nového atributu "+F" (EXT4_CASEFOLD_FL). Je-li tento atribut nastaven na adresář, všechny operace se soubory a podadresáři uvnitř nebudou rozlišovat malá a velká písmena, včetně velkých a malých písmen budou při vyhledávání a otevírání souborů ignorovány (například soubory Test.txt, test.txt a test.TXT v adresáře budou považovány za stejné). Ve výchozím nastavení, s výjimkou adresářů s atributem "+F", souborový systém nadále rozlišuje malá a velká písmena. Pro ovládání zahrnutí režimu bez rozlišení malých a velkých písmen je nabízena upravená sada utilit e2fsprogs.

Patche připravil Gabriel Krisman Bertazi z Collabora a přijal s sedmý pokusy po tři roky rozvoj a odstranění připomínek. Implementace nemění formát diskového úložiště a funguje výhradně na úrovni změny logiky porovnání názvů ve funkci ext4_lookup() a nahrazení hash ve struktuře dcache (Directory Name Lookup Cache). Hodnota atributu "+F" je uložena v inodech jednotlivých adresářů a šíří se do všech vnořených souborů a podadresářů. Informace o kódování jsou uloženy v superbloku.

Aby se předešlo kolizím s názvy existujících souborů, lze atribut „+F“ nastavit pouze na prázdné adresáře v systémech souborů, které mají povolenou podporu Unicode v názvech souborů a adresářů během fáze připojení. Názvy položek adresáře, pro které je povolen atribut „+F“, jsou automaticky převedeny na malá písmena a promítnou se do tohoto tvaru v dcache, ale jsou uloženy na disku ve tvaru původně nastaveném uživatelem, tzn. i přes zpracování jmen bez ohledu na velká a malá písmena jsou jména zobrazena a uložena bez ztráty informace o velikosti písmen (systém ale nedovolí vytvořit název souboru se stejnými znaky, ale v jiném případě).

Zdroj: opennet.ru

Přidat komentář