Ted Ts’o, autor souborových systémů ext2/ext3/ext4, do větve Linux-next, na jejímž základě bude vytvořena verze jádra Linux 5.2, sadu , implementujících podporu operací bez ohledu na rozlišení velkých a malých písmen v souborovém systému Ext4. Záplaty také přidávají podporu znaků UTF-8 v názvech souborů.
Režim bez rozlišování velkých a malých písmen je volitelně aktivován vázáním k jednotlivým adresářům pomocí nového atributu „+F“ (EXT4_CASEFOLD_FL). Při nastavení tohoto atributu na adresář budou všechny operace se soubory a podadresáři uvnitř prováděny bez ohledu na rozlišování velkých a malých písmen, včetně toho, že při operacích vyhledávání a otevírání souborů bude rozlišení ignorováno (například soubory Test.txt, test.txt a test.TXT v takových adresářích budou považovány za identické). Ve výchozím nastavení, kromě adresářů s atributem „+F“, zůstává souborový systém citlivý na velká a malá písmena. Pro správu aktivace režimu bez rozlišování písmen je navržen modifikovaný soubor utilit .
Záplaty připravil Gabriel Krisman Bertazi, zaměstnanec společnosti Collabora, a byly schváleny s pokusu po vývoje a odstraňování chyb. Implementace nezměnila diskový formát uložení a funguje výhradně na úrovni změny logiky porovnávání názvů v funkci ext4_lookup() a nahrazení hash v rámci dcache (cache pro vyhledávání názvů adresářů). Hodnota atributu „+F“ se uchovává uvnitř inode jednotlivých adresářů a vztahuje se na všechny podřízené soubory a podadresáře. Informace o kódování se uchovávají v superbloku.
Aby se předešlo kolizím s názvy existujících souborů, může být atribut „+F“ nastaven pouze na prázdné adresáře v souborových systémech, kde je při připojení aktivován režim podpory Unicode v názvech souborů a adresářů. Názvy prvků adresářů, pro které je aktivován atribut „+F“, se automaticky převádějí na malá písmena a zobrazují se v této podobě v dcache, ale na disku zůstávají v původním zadaném formátu, tj. i přes zpracování názvů nezávisle na rozlišování písmen se názvy zobrazují a uchovávají bez ztráty informace o rozlišení velkých a malých písmen (ale systém nedovolí vytvořit název souboru se stejnými znaky, ale v jiném rozlišování).
Zdroj: opennet.ru
