Die Firma Samsung Um in den Linux-Kernel aufgenommen zu werden, wurden Patch-Sets mit der Implementierung eines neuen exFAT-Treibers vorgeschlagen, der auf der aktuellen Codebasis von „sdfat“ basiert, die für Firmware von Samsung Android-Smartphones entwickelt wird. Wenn die Patches akzeptiert werden, werden sie Teil des Linux-Kernels 5.6, dessen Veröffentlichung in 2-3 Monaten erwartet wird. Im Vergleich zu dem zuvor in den Kernel integrierten exFAT-Treiber bietet der neue Treiber eine Leistungssteigerung von etwa 10%.
Die Hauptunterschiede zwischen der Treiberversion von sdfat für den Hauptkernel von Linux und dem Treiber, der von Samsung in Android verwendet wird:
- Der Code für das VFAT-Dateisystem wurde entfernt, da dieses Dateisystem bereits separat im Kernel unterstützt wird (fs/fat);
- Der Treiber wurde von sdfat in exfat umbenannt;
- Der Code wurde refaktoriert. Der Quelltext wurde an die Formatierungsanforderungen für den Linux-Kernel angepasst;
- Die Operationen mit Metadaten, wie das Erstellen von Dateien, das Suchen von FS-Elementen (lookup) und das Bestimmen des Inhalts eines Verzeichnisses (readdir), wurden optimiert.
- Bei weiteren Tests festgestellte Fehler wurden behoben.
Wir erinnern daran, dass nachdem Microsoft öffentlich Spezifikationen zur Verfügung gestellt und die Nutzung von Patenten für exFAT in Linux angeboten hat, ein exFAT-Treiber, der ebenfalls von Samsung entwickelt wurde, im experimentellen Abschnitt „staging“ („drivers/staging/“) des Kernels 5.4 hinzugefügt wurde. (Version 1.2.9). Enthusiasten von Android-Firmware haben den neuen sdFAT-Treiber (2.x) entwickelt, aber Samsung hat sich entschieden, diesen Treiber selbst im Hauptkernel von Linux zu fördern. Zusätzlich hat Paragon Software einen , der zuvor in einem proprietären Treibersatz geliefert wurde, geöffnet.
Das exFAT-Dateisystem wurde von Microsoft entwickelt, um die Einschränkungen von FAT32 bei der Verwendung auf großen Flash-Laufwerken zu beseitigen. Die Unterstützung des exFAT-Dateisystems wurde in Windows Vista Service Pack 1 und Windows XP mit Service Pack 2 eingeführt. Die maximale Dateigröße wurde im Vergleich zu FAT32 von 4 GB auf 16 Exabyte erhöht, die Begrenzung der maximalen Partitionsgröße von 32 GB wurde aufgehoben, um die Fragmentierung zu reduzieren und die Geschwindigkeit zu erhöhen, eine Bitmap freier Blöcke wurde eingeführt, die Begrenzung für die Anzahl der Dateien in einem Verzeichnis wurde auf 65.000 angehoben, und es wurde die Möglichkeit geschaffen, ACL zu speichern.
Quelle: opennet.ru
