Nach mehr als zwei Jahren Entwicklung wurde die Version 1.10 des WinBtrfs-Projekts veröffentlicht, das einen Treiber zur Nutzung des Btrfs-Dateisystems auf der Windows-Plattform entwickelt. WinBtrfs basiert nicht auf dem Btrfs-Code aus dem Linux-Kernel, sondern ist eine von Grund auf neu geschaffene alternative Implementierung. Es wird die UnterstĂŒtzung fĂŒr Windows XP und neuere Versionen geboten. Der Treiber ist Teil des Betriebssystems ReactOS und kann verwendet werden, um Windows aus einer Partition mit Btrfs zu booten. Der Code ist in C/C++ geschrieben und wird unter der LGPLv3-Lizenz verbreitet.
WinBtrfs unterstĂŒtzt die meisten Funktionen der Linux-Version von Btrfs, einschlieĂlich des asynchronen Lesens und Schreibens, der Verwendung von RAID0/1/10/5/6, Caching, automatischer Erkennung von Partitionen, ACL, symbolischen Links, Subvolumes, Snapshots, harten Links, spĂ€rlichen Dateien, proaktiver Speicherzuweisung, Kompression, Balancierung, DatenintegritĂ€tsprĂŒfungen, HinzufĂŒgen und Entfernen von SpeichergerĂ€ten, dem Senden und Empfangen von Subvolumes, der GröĂenĂ€nderung von Partitionen sowie erweiterten PrĂŒfziffern (xhash, sha256, blake2). Zu den spezifischen Funktionen des Treibers gehören die Implementierung alternativer Datenströme und die Zuordnung von Benutzer-IDs zwischen Linux und Windows. Eine Konvertierung bestehender NTFS-Partitionen nach Btrfs ist möglich.
Zu den Neuerungen in der neuen Version gehören:
- Die UnterstĂŒtzung fĂŒr das Schreiben von Bitmap-Daten mit Informationen ĂŒber freien Speicherplatz wurde hinzugefĂŒgt.
- Die Möglichkeit, kleine Dateien in komprimierter Form innerhalb von Metadatenblöcken (inline) zu speichern, wurde implementiert.
- Die Leistung mit externen Speichermedien wurde verbessert. Die UnterstĂŒtzung fĂŒr die Erstellung von RAID-Arrays auf externen Speichermedien wurde eingestellt.
- Die ZuverlÀssigkeit der Wiederherstellung nach Fehlern, die durch einen Mangel an Arbeitsspeicher (OOM) oder durch das Erreichen des Speicherplatzes auf dem SpeichergerÀt (ENOSPC) verursacht wurden, wurde erhöht.
- Kritische Beendigungen, die beim Verschieben von Dateien zwischen Subvolumes und beim gleichzeitigen Erstellen einer groĂen Anzahl von Dateien auftraten, wurden behoben.
- Ein Fehler, der zu einer BeschĂ€digung des Extents-Baums beim Schreiben von Snapshots fĂŒhrte, wurde behoben.
- Eine gegenseitige Blockade beim Arbeiten mit harten Links wurde behoben.
- Interne Strukturen und Konstanten wurden refaktoriert, um sie den in Linux verwendeten Varianten nÀher zu bringen.
- Bei der ĂberprĂŒfung von Ănderungen und der Analyse von Fehlern wurde der AI-Assistent Claude eingesetzt, doch der Code wird nach wie vor ausschlieĂlich manuell erstellt.
Quelle: opennet.ru
