В ядрото на 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.

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

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

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

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