W jądrze Linux dla systemu plików Ext4 włączono wsparcie dla pracy bez rozróżniania wielkości liter.

Ted Ts’o, autor systemów plików ext2/ext3/ext4, przyjął w gałęzi Linux-next, na podstawie której będzie tworzona wersja jądra Linux 5.2, zestaw zmian, implementujących wsparcie dla operacji bez uwzględniania wielkości liter w systemie plików Ext4. Łaty te wprowadzają również wsparcie dla znaków UTF-8 w nazwach plików.

Tryb pracy bez różnicy w wielkości liter można opcjonalnie włączyć w powiązaniu z poszczególnymi katalogami za pomocą nowego atrybutu „+F” (EXT4_CASEFOLD_FL). Po ustawieniu tego atrybutu na katalogu wszystkie operacje na plikach i podkatalogach wewnątrz będą wykonywane bez uwzględniania wielkości liter, w tym wielkość liter będzie ignorowana podczas operacji wyszukiwania i otwierania plików (na przykład pliki Test.txt, test.txt i test.TXT w takich katalogach będą traktowane jako identyczne). Domyślnie, z wyjątkiem katalogów z atrybutem „+F”, system plików nadal pozostaje zależny od wielkości liter. Do zarządzania włączaniem trybu bez różnicy w wielkości liter proponuje się zmodyfikowany zestaw narzędzi. e2fsprogs.

Łaty zostały przygotowane przez Gabriela Krisman Bertaziego, pracownika firmy Collabora, i przyjęte po siódmej próbie po trzech latach opracowywania i usuwania uwag. Realizacja nie wprowadza zmian w formacie dysku i działa wyłącznie na poziomie zmiany logiki porównania nazw w funkcji ext4_lookup() oraz zastępowania hash w strukturze dcache (Directory Name Lookup Cache). Wartość atrybutu „+F” jest przechowywana wewnątrz inode poszczególnych katalogów i rozciąga się na wszystkie zagnieżdżone pliki i podkatalogi. Informacje o kodowaniu są zachowywane w superbloku.

Aby uniknąć kolizji z nazwami istniejących plików, atrybut „+F” może być ustawiony tylko na pustych katalogach w systemach plików, w których na etapie montowania włączono tryb wsparcia Unicode dla nazw plików i katalogów. Nazwy elementów katalogów, dla których aktywowano atrybut „+F”, są automatycznie przekształcane na małe litery i są wyświetlane w takiej formie w dcache, ale na dysku są przechowywane w oryginalnej postaci określonej przez użytkownika, tzn. mimo obróbki nazw niezależnie od wielkości liter, nazwy są wyświetlane i przechowywane bez utraty informacji o wielkości liter (jednak system nie pozwoli utworzyć nazwy pliku z tymi samymi znakami, ale w innym rejestrze).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster