De Linux-kernel voor het Ext4-bestandssysteem biedt ondersteuning voor hoofdletterongevoelige bewerkingen

Ted Ts'o, auteur van ext2/ext3/ext4 bestandssystemen, geaccepteerd naar de Linux-next branch, op basis waarvan de release van de Linux 5.2-kernel zal worden gevormd, een set veranderingen, waarbij ondersteuning wordt geïmplementeerd voor hoofdletterongevoelige bewerkingen in het Ext4-bestandssysteem. De patches voegen ook ondersteuning toe voor UTF-8-tekens in bestandsnamen.

De hoofdletterongevoelige bedrijfsmodus wordt optioneel ingeschakeld voor individuele mappen met behulp van het nieuwe attribuut “+F” (EXT4_CASEFOLD_FL). Wanneer dit attribuut is ingesteld op een map, worden alle bewerkingen met bestanden en submappen daarin uitgevoerd zonder rekening te houden met het hoofdlettergebruik van tekens, inclusief het hoofdlettergebruik dat wordt genegeerd bij het zoeken en openen van bestanden (bijvoorbeeld de bestanden Test.txt, test.txt en test.TXT in dergelijke mappen worden als hetzelfde beschouwd). Standaard blijft het bestandssysteem, met uitzondering van mappen met het kenmerk “+F”, hoofdlettergevoelig. Om de opname van de hoofdletterongevoelige modus te controleren, wordt een aangepaste set hulpprogramma's aangeboden e2fsprogs.

De patches zijn voorbereid door Gabriel Krisman Bertazi, een medewerker van Collabora, en geaccepteerd zevende pogingen na drie jaar ontwikkeling en eliminatie van opmerkingen. De implementatie brengt geen wijzigingen aan in het schijfopslagformaat en werkt uitsluitend op het niveau van het wijzigen van de naamvergelijkingslogica in de ext4_lookup() functie en het vervangen van de hash in de dcache (Directory Name Lookup Cache) structuur. De waarde van het attribuut "+F" wordt opgeslagen in de inode van individuele mappen en wordt doorgegeven aan alle subbestanden en submappen. De coderingsinformatie wordt opgeslagen in het superblok.

Om botsingen met de namen van bestaande bestanden te voorkomen, kan het kenmerk “+F” alleen worden ingesteld op lege mappen in bestandssystemen waarin Unicode-ondersteuning in bestands- en mapnamen is ingeschakeld tijdens de montagefase. De namen van directory-elementen waarvoor het attribuut “+F” is geactiveerd, worden automatisch omgezet in kleine letters en in deze vorm weergegeven in dcache, maar worden op schijf opgeslagen in de vorm die aanvankelijk door de gebruiker is opgegeven, d.w.z. Ondanks de verwerking van namen, ongeacht het hoofdlettergebruik, worden namen weergegeven en opgeslagen zonder informatie over het hoofdlettergebruik van de tekens te verliezen (maar het systeem staat u niet toe een bestandsnaam te maken met dezelfde tekens, maar in een ander hoofdlettergebruik).

Bron: opennet.ru

Voeg een reactie