В ядрото на Linux за файловата система Ext4 е включена поддръжка за работа без оглед на регистра.

Тед Цо (Ted Ts’o), автор на файловите системи ext2/ext3/ext4, приел в Linux-next клона, от който ще бъде генерирано изданието на ядрото Linux 5.2, набор изменений, осигуряващ поддръжка за операции без оглед на регистра в файловата система Ext4. Патчовете също добавят поддръжка за UTF-8 символи в имената на файловете.

Режимът на работа без разграничаване на регистъра на символите може да бъде опционално включен във връзка със специфични директории чрез новия атрибут «+F» (EXT4_CASEFOLD_FL). След оправяне на този атрибут на директория, всички операции с файлове и поддиректории вътре ще се извършват без значение на регистъра на символите, като регистърът ще бъде пренебрегван при търсене и отваряне на файлове (например, файловете Test.txt, test.txt и test.TXT в такива директории ще се считат за идентични). По подразбиране, с изключение на директории с атрибут «+F», файловата система продължава да е чувствителна към регистъра. За управление на включването на режима без разграничаване на регистъра се предлага модифициран набор от утилити. e2fsprogs.

Патчовете са подготвени от Габриел Крисман Бертази, служител на Collabora, и са приети с седмата опит след три години разработка и коригиране на забележки. Реализацията не променя дисковия формат на съхранение и работи единствено на нивото на промяна на логиката за сравнение на имена в функцията ext4_lookup() и замяната на хеша в структурата dcache (Directory Name Lookup Cache). Стойността на атрибута «+F» се съхранява вътре в inode на отделните директории и се разпространява на всички вложени файлове и поддиректории. Информацията за кодировката се съхранява в суперконтейнера.

За да се избегнат конфликтите с имената на съществуващи файлове, атрибутът «+F» може да бъде установен само на празни директории в файловите системи, в които по време на монтирането е включен режим на поддръжка на Юникод в имената на файловете и директориите. Имената на елементите на директории, за които е активиран атрибутът «+F», автоматично се преобразуват в малки букви и се отразяват в този вид в dcache, но на диска се запазват в първоначално зададения от потребителя вид, т.е. въпреки обработката на имената независимо от регистъра, имената се показват и запазват без загуба на информация за регистъра на символите (но системата няма да позволи да се създаде име на файл с идентични символи, но в различен регистър).

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster