Linux Kernel 5.2 на Ext4 ще позволи търсене без разлика на регистъра

нечувствително

Тед цьо, авторът на файловите системи ext2 / ext3 / ext4, прие Linux-следващия клон, на база, от която ще бъде създадено изданието на Linux Kernel 5.2, набор от промени, които прилагане на подкрепа за независими казусни операции в файловата система Ext4.

Пластирите те също така добавят поддръжка за UTF-8 символи в имената на файлове. Режимът на работа без символни букви е включен по избор в връзката към отделни директории, като се използва новият атрибут "+ F" (EXT4_CASEFOLD_FL).

Без регистрация за ext4

Когато този атрибут е инсталиран в директорията, всички операции с файлове и поддиректории които са вътре в нея няма да има предвид малки и големи букви, включително случаят ще бъде игнориран, когато търсенето и отварянето на файлове (например Test.txt, test.txt и test.TXT в подобни директории) ще се считат за едни и същи).

Тоест, съвпада с запис в директория, дори ако името, използвано от потребителското пространство, не е байт за байт, който съответства на името на диска, а е еквивалентна версия на низа на Unicode, чувствителна към малки и големи букви.

Тази операция се нарича търсене на име на файл без регистра. Функцията е конфигурирана като атрибут inode, приложен към директориите и наследен от техните деца.

Този атрибут само може да се активира в празни директорииs за файлови системи, които поддържат функцията за кодиране, като по този начин се избягва сблъсъкът на имена на файлове, които се различават само за всеки отделен случай.

По подразбиране, с изключение на директории с атрибут "+ F", файловата система все още е чувствителна към малки и големи букви. За да се контролира включването на режим без чувствителност към регистъра, се предоставя модифициран набор от помощни програми e2fsprogs.

Тази корекция реализира действителна поддръжка за нечувствителни към регистрацията имена на файлове в ext4, въз основа на бита на функцията и кодирането, съхранени в суперблока.

Работа, за която пристигна много време

Пачовете бяха подготвени от Габриел Крисман Бертази, сътрудник на Collabora и са взети от седмия опит след три години разработване и заличаване на коментари.

Внедряването не прави промени във формата за съхранение на диска и работи изключително на ниво промяна на логиката за сравнение на имената във функцията ext4_lookup () и замяна на хеш в структурата на dcache (Directory Name Lookup Cache).

Стойността на атрибута "+ F" се съхранява в инодите на отделните директории и се отнася за всички прикачени файлове и поддиректории. Информацията за кодирането се съхранява в суперблока.

Засега отрицателните справки не се натискат в dcache, тъй като така или иначе би трябвало да бъдат обезсилени, защото не можем да се доверим на липсващи файлове.

Това е лошо за производителността, но за коригиране изисква известно използване на слоя vfs.

Засега можем да живеем без него, точно както всички останали.

За да се избегнат сблъсъци с имената на съществуващите файлове, атрибутът "+ F" може да бъде зададен само на празни директории във файловите системи, в който режимът на поддръжка на Unicode в имена на файлове и директории е активиран по време на фазата на монтиране.

Имената на елементите на директорията, за които е активиран атрибутът "+ F" автоматично се превеждат в малки букви и се отразяват по този начин в dcache, но те се съхраняват на диск във формата, първоначално дефинирана от потребителя.

Новите дискови хешове се изчисляват като хеш на цялата верига от случаи, а не директно на веригата.

Това означава, че въпреки обработката на имената, независимо от случая, имената се показват и запазват, без да се губи информация за случая на символите (но системата няма да ви позволи да създадете име на файл със същите символи, но в различен случай).

Той също така позволява на VFS кода бързо да намери правилния запис в кеша, въпреки че при предишно търсене е бил използван еквивалентен низ


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.