Ext4 файл тутуму үчүн Linux ядросу регистрге сезимсиз иштөөнү колдоону камтыйт

Тед Ц'о, ext2/ext3/ext4 файл системаларынын автору, Мен алып Linux-кийинки бутагына, анын негизинде 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" атрибутунун мааниси жеке каталогдордун инодунда сакталат жана бардык субфайлдарга жана подкаталогдорго жайылтылат. Коддоо маалыматы суперблокто сакталат.

Учурдагы файлдардын аттары менен кагылышууну болтурбоо үчүн, "+F" атрибутун монтаждоо стадиясында файл жана каталог аттарында Юникод колдоосу иштетилген файл тутумдарындагы бош каталогдорго гана коюуга болот. “+F” атрибуту активдештирилген каталог элементтеринин аталыштары автоматтык түрдө кичине тамгага айландырылат жана бул формада dcache-де чагылдырылат, бирок дискте алгач колдонуучу белгилеген формада сакталат, б.а. Регистрге карабастан аталыштарды иштетүүгө карабастан, аттар символдордун регистри жөнүндө маалыматты жоготпостон көрсөтүлөт жана сакталат (бирок система файлдын атын бирдей символдор менен түзүүгө мүмкүндүк бербейт, бирок башка учурда).

Source: opennet.ru

Комментарий кошуу