Kernel-Log – Was 3.1 bringt (2): Storage und Dateisysteme

Der Software-RAID-Code erhält ein Bad-Block-Management für fehlerhafte Sektoren; Dm-Crypt kann SSDs nun über frei gewordene Speicherbereiche informieren; iSCSI-Target-Framework LIO aufgebohrt; Ext3-Dateisystem als Default jetzt langsamer, aber robuster.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Lesezeit: 15 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Am Montagmorgen hat Linus Torvalds die fünfte Vorabversion von Linux 3.1 veröffentlicht. Diese Version erhält man derzeit nur via Github, da die Kernel.org-Infrastruktur nach dem Einbruch nur eingeschränkt arbeitet. Torvalds erwähnt in der Freigabe-Mail, es gäbe von der Entwicklungsfront nicht Spannendes zu berichten; dafür dürften aber auch die Wirrungen nach dem Einbruch bei Kernel.org mitverantwortlich sein, da sie den Patch-Fluss beeinträchtigen.

Das Kernel-Log nimmt die fortschreitende Entwicklung von Linux 3.1 zum Anlass, die Mini-Serie "Was 3.1 bringt" mit der Beschreibung der Neuerungen rund um Storage-Code und Dateisysteme fortzusetzen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; in den kommenden Wochen werden Artikel zur Architektur-Code, Infrastruktur und Treibern für andere Hardware folgen.

Genau wie das Ext4-Dateisystem nutzt in Zukunft auch Ext3 standardmäßig Schreibbarrieren – das wirkt sich negativ auf die Geschwindigkeit aus, steigert aber die Robustheit bei Abstürzen. Das Ext4-Dateisystem merkt sich bei Linux 3.1, welche ungenutzten Speicherbereiche es an den verwendenden Datenträger gemeldet hat, wenn es dazu durch Fstrim aufgefordert wurde. Bei einem späteren Aufruf von Fstrim braucht es dann nur noch die zwischenzeitlich freigegeben Bereiche zu melden, was das für SSDs und Speicherlösungen mit Thin Provisioning interessante Batched Discard beschleunigt.

Änderungen an den Locking-Mechanismen von Btrfs sollen die Geschwindigkeit des experimentellen Dateisystems erheblich steigern, wenn bei den Arbeitsanforderungen Leseoperationen überwiegen. Davon abgesehen gab es diesmal keine erwähnenswerten Änderungen an Btrfs, weil sich kurz vor dem Einsenden der Änderungen für Linux 3.1 Probleme gezeigt hatten, denen der leitende Btrfs-Entwickler erst nachspüren wollte.

Die Kernel-Entwickler haben das bei Linux 2.6.39 aufgenommene Pstore ("Platform Persistent Storage") ausgebaut, um Daten zur Analyse von Abstürzen in den von UEFI genutzten nichtflüchtigen Speicherbereichen sichern zu können (1, 2); einige Hintergründe dazu erläutert EFI-Spezialist Matthew Garrett in einem Blog-Eintrag.

Torvalds nahm einen 660 KByte großen Patch auf, der das bei 2.6.38 integrierte iSCSI-Target-Framework LIO (linux-iscsi.org) auf den Stand der LIO-Version 4.1 hebt (1, 2). Der bringt unter anderem Unterstützung für die Authentifizierung per CHAP mit. Dem SCSI-Subsystem-Betreuer gefällt dieser Ansatz nicht; er wollte diese Aufgabe lieber an ein Userspace-Programm delegieren. Torvalds merkte daraufhin einige Nachteile von Userspace-Lösungen an und entlockte dem SCSI-Maintainer weitere Argumente gegen die Kernel-Integration. Die überzeugten den Linux-Vater aber offensichtlich nicht, da er die LIO-4.1-Patches wenig später in den Hauptentwicklungszweig integrierte.