Im Linux-Kernel für das Dateisystem Ext4 wurde die Unterstützung für die Groß-/Kleinschreibung bei Zeichen eingeführt.

Ted Ts’o, der Autor der Dateisysteme ext2/ext3/ext4, hat ist in den Linux-next-Branch integriert, aus dem die Version des Linux-Kernels 5.2 erstellt wird, ein Set Änderungen, das die Unterstützung für die Groß- und Kleinschreibung ignorierenden Operationen im Ext4-Dateisystem implementiert. Die Patches fügen auch die Unterstützung für UTF-8-Zeichen in Dateinamen hinzu.

Der Modus für die Ignorierung der Groß- und Kleinschreibung kann optional für bestimmte Verzeichnisse aktiviert werden, indem ein neues Attribut „+F“ (EXT4_CASEFOLD_FL) verwendet wird. Wenn dieses Attribut für ein Verzeichnis gesetzt ist, werden alle Datei- und Unterverzeichnisoperationen innerhalb dieses Verzeichnisses ohne Berücksichtigung der Groß- und Kleinschreibung durchgeführt, einschließlich der Ignorierung von Groß-/Kleinschreibung bei Such- und Öffnungsoperationen (z.B. werden Dateien Test.txt, test.txt und test.TXT in solchen Verzeichnissen als identisch betrachtet). Standardmäßig, mit Ausnahme von Verzeichnissen mit dem Attribut „+F“, bleibt das Dateisystem groß-/kleinschreibungsabhängig. Für die Verwaltung des aktivierbaren Modus wird ein modifiziertes Set von Tools angeboten. e2fsprogs.

Die Patches wurden von Gabriel Krisman Bertazi, einem Mitarbeiter von Collabora, vorbereitet und nach dem siebten Versuch akzeptiert, nachdem drei Jahre vergangen sind. Entwicklung und Behebung von Anmerkungen. Die Implementierung ändert nicht das Datenträgerformat und funktioniert ausschließlich auf der Ebene der Logikänderung beim Vergleich von Namen in der Funktion ext4_lookup() und der Ersetzung des Hashes in der Struktur dcache (Directory Name Lookup Cache). Der Attributwert „+F“ wird innerhalb des Inodes einzelner Verzeichnisse gespeichert und auf alle darin enthaltenen Dateien und Unterverzeichnisse angewendet. Informationen zur Kodierung werden im Superblock gespeichert.

Um Kollisionen mit den Namen vorhandener Dateien zu vermeiden, kann das Attribut „+F“ nur auf leere Verzeichnisse in Dateisystemen gesetzt werden, in denen während des Mount-Vorgangs der Unicode-Support für Dateinamen und Verzeichnisse aktiviert ist. Die Namen der Verzeichniselemente, für die das Attribut „+F“ aktiviert ist, werden automatisch in Kleinbuchstaben umgewandelt und in dieser Form im dcache dargestellt, bleiben jedoch auf dem Datenträger in der ursprünglich vom Benutzer festgelegten Form gespeichert, d.h. trotz der Verarbeitung von Namen unabhängig von der Groß- und Kleinschreibung werden die Namen angezeigt und gespeichert, ohne dass Informationen über die Großschreibung verloren gehen (das System lässt jedoch nicht zu, dass ein Dateiname mit denselben Zeichen, jedoch in einer anderen Schreibweise, erstellt wird).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster