Kernel-Log – Was 3.4 bringt (2): Dateisysteme, Storage und Treiber | heise online

Kernel-Log – Was 3.4 bringt (2): Dateisysteme, Storage und Treiber

Btrfs soll flotter und fehlertoleranter arbeiten. Linux 3.4 unterstützt bereits jetzt Chipsätze, die Intel erst nächstes Jahr einführen will. Greg Kroah-Hartman übt Druck auf die Zcache-Entwicklung aus.

vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 31 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Ein Red-Hat-Entwickler hat beim weiterhin experimentellen Btrfs-Dateisystem einige Eigenschaften rund um die Handhabung von Metadaten überarbeitet. Das kann in bestimmten Situationen die Performance verbessern, wie Oracle-Entwickler Chris Mason in seinem Haupt-Git-Pull-Request für Btrfs erläutert. Diese Änderungen legen zudem Grundlagen für die Unterstützung von RAID 5 und 6; dabei verweist Mason mit einem zwinkernden Smiley auf Linux 3.5. Ferner gab es einige Verbesserungen zur Fehlerbehandlung von Btrfs, die maßgeblich von einem Suse-Entwickler stammen, der die Änderungen für das zweite Service Pack von Suse Linux Enterprise (SLE) 11 entwickelt hat; dort und im Unbreakable Enterprise Kernel 2 von Oracle wird das Dateisystem seit einigen Wochen offiziell unterstützt.

Die Ext4-Entwickler haben die Mount-Optionen journal=update und resize entfernt; die Optionen noacl und noxattr_user zum Deaktivieren der ACL-Unterstützung sollen bei 3.5 rausfliegen, sofern niemand ein Veto einlegt.

Änderungen am nfsd sollen die serverseitige Unterstützung für NFS 4.1 verbessern; zudem versprechen sie einige Probleme beim Neustarten und im Zusammenspiel mit Ext-Dateisystemen zu beseitigen. Änderungen am NFS-Client-Code bringen unter anderem NFS-Unterstützung für Container und sollen die Skalierbarkeit des ID-Mappers verbessern. Kernel 3.4 unterstützt erstmals auch das Lesen des Dateisystems qnx6fs, das das Real-Time-Betriebssystem QNX 6 (auch als QNX RTP bekannt) nutzt.

Mehr Infos

Entwicklungsstand

Bei der Freigabe der fünften Vorabversion von Linux 3.4 in der Nacht von Sonntag auf Montag erklärte Torvalds, dass die Dinge nicht zur Ruhe gekommen seien; zwischen dem RC4 und dem RC5 habe es 50 Prozent mehr Änderungen gegeben als in der Woche zuvor.

Die nächste Vorabversion dürfte zu Beginn der nächsten Woche erscheinen. Mit ihr begibt sich die Entwicklung von Linux 3.4 langsam auf die Zielgerade; mindestens eine weitere Vorabversion wirkt zumindest derzeit wahrscheinlich.

Das Device-Mapper-Target Dm-Thin beherrscht beherrscht nun Discard. Zudem kann es ein schreibgeschützt eingehängtes Image mehrfach exportieren und die auf diesen Export geschriebenen Daten an anderer Stelle sichern – solch ein "read only external snapshot origin" ist bei der Virtualisierung interessant, um ein Image einer Betriebssysteminstallation als gemeinsame Basis für mehrere Gastsysteme zu verwenden. Neu ist das Device-Mapper-Target Dm-Verity, das die Echtheit eines schreibgeschützt eingebundenen Datenträgers während des Lesens prüft; Google nutzt den Ansatz zur Absicherung seiner Netbook-Systeme Chrome OS und Chromium OS, wie ein LWN.net-Artikel zu Dm-Verity erläutert.

Der MD-Software-RAID-Code kann nun auch RAID-10-Arrays auf eine Weise verkleinern oder vergrößern, durch die sich beispielsweise zusätzlichen Speicherplatz im Verbund nutzen lässt, nachdem man die verwendeten Datenträger gegen größere ausgetauscht hat. Zum SCSI-Subsystem stieß ein Treiber für Flash-Host-Controller, welche der Spezifikation Universal Flash Storage (UFS) folgen. Die libfs, die verschiedene Aufgaben für Fibre-Channel-Hardware erledigt, unterstützt nun das Fabric Device Management Interface (FDMI), wie es in der Spezifikation FC-GS-4 definiert ist.

Der Broadcom-WLAN-Treiber Brcmfmac spricht nun auch die USB-Chips Bcm43235/6/8 an; der Ralink-Treiber rt2x00 unterstützt ab 3.4 den WLAN-Chipsatz RT5372. Der für den gleichnamigen Realtek-Chip zuständige Treiber rtl8187 bietet nun AD-HOC support. Die Netfilter-Infrastruktur erhielt Erweiterungen, durch die Administratoren für jeden Datenstrom eigene Timeout-Regeln definieren können ("Connection Tracking Timeout Infrastructure"; u. a. 1, 2).

Es gab wieder eine Vielzahl von Verbesserungen an den Treibern und der Infrastruktur für DVB-Hardware. Darunter Unterstützung für die KWorld PC150-U ATSC hybrid tuner card oder die AzureWave 6007 und damit verwandte USB-2.0-DVB-T/C-Hardware; neu ist auch ein Treiber für DVB-T-Hardware mit dem Realtek RTL2831U..

Einige Treiber – darunter jene für Audio-Hardware, AHCI und SATA-Adapter – erhielten Erweiterungen, durch die sie schon jetzt mit Intels "Lynx Point"-Chipsätzen zusammenarbeiten sollen. Die will Intel wohl 2013 zusammen mit den Haswell-Prozessoren als Serie-8-Chipsätze einführen; deren Vorgänger wurden erst kürzlich eingeführt.

Mehr Infos

Die "Was Linux 3.4 bringt"-Serie

Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der in der zweiten Mai-Hälfte erwarteten Linux-Version 3.4 geben, da alle größeren Neuerungen bereits in den ersten zwei Entwicklungswochen integriert wurden; Linux 3.4 befindet sich daher jetzt in der Stabilisierungsphase, in der die Kernel-Hacker normalerweise keine größeren Änderungen mehr vornehmen.

Über einige der Neuerungen von Linux 3.4 hat das Kernel-Log bereits berichtet:

In den kommenden Wochen wird noch ein Artikel erscheinen, der sich mit den Neuerungen bei Grafiktreibern beschäftigt und die "Was 3.4 bringt"-Serie abschließt.

Mit Linux 3.4 stößt ein Treiber für Synaptics-Touchpads zum Kernel, die über USB angebunden sind. Audio-Subsystem-Maintainer Takashi Iwai schreibt in seinem Haupt-Git-Pull-Request, dass die automatische Handhabung von Hardware-spezifischen Sonderbehandlungen bei Audio-Codecs von Realtek weiter verbessert wurde; schon bei Linux 3.2 und 3.3 hatte es hier allerlei Verbesserungen gegeben, durch die der Kernel die Audio-Codecs vieler Systeme nun automatisch korrekt konfiguriert.

Einige größere Änderungen gab es beim Treiber für Samsung-Notebooks; durch eine davon kann der Treiber nun bei einigen Geräten die Tastatur-Beleuchtung einschalten. Der USB-Code aktiviert die Schlaffunktion von USB-3.0-Hubs jetzt automatisch. Via Sysfs lässt sich nun abfragen, ob die an einem USB-Port hängende Hardware laut den von der Firmware/BIOS gelieferten Informationen zur Laufzeit entfernbar ist oder nicht. Zum USB-Gadget-Code stieß ein Audio Class 2.0 Driver, über den sich ein Linux-System einem anderen gegenüber als USB-Audio-Hardware ausgeben kann.

Der Hyper-V-Storage-Treiber zog vom Staging-Zweig ins SCSI-Subsystem um. Damit konnte nun auch der letzte Treiber für Microsofts Virtualisierungsschnittstelle den Bereich für Treiber verlassen, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen – die Microsoft-Treiber dürften daher bald auch in Distributionen auftauchen, die gar keine oder nur ausgewählte Staging-Treiber mitliefern. Microsoft hatte diese selbst entwickelten Treiber im Juli 2009 präsentiert, sich anfangs aber mehr schlecht als recht um das Verbessern des Codes gekümmert.

Zram und Zcache nutzen nun zum Allozieren von Speicher nicht mehr xvmalloc, sondern den neu aufgenommenen Mechanismus zsmalloc (1, 2); zudem kann Zcache nun das Crypto-API verwenden. Staging-Betreuer Greg Kroah-Hartman hat derweil verkündet, vorerst keine weiteren Änderungen für Zcache und davon genutzten Code aufnehmen zu wollen, der weitere Funktionen nachrüstet; die Entwickler sollen erst die Qualitätsprobleme beseitigen, damit der Code vom Staging-Bereich in die zuständige Subsysteme umziehen kann.

Eingezogen sind in den Staging-Bereich unter anderem ein Treiber für einen "USB over WiFi Host Controller" von Ozwpan sowie der Android-Treiber android-alarm. In den Staging-Bereich aufgenommen wurde auch Ramster, mit dem ein System bei Arbeitspeicherknappheit einige Daten zur Speicherung an ein anderes System eines Cluster abgeben kann, um die Nutzung von Auslagerungsspeicher (Swap-Space) zu vermeiden. Bei der Aufnahme gab es allerdings ein Hin und Her, das nicht ohne Einfluss auf Auswertungen zu den Code-Beiträgen von Entwicklern und Firmen bleibt: Der Code wurde nämlich erst aufgenommen (u. a. 1, 2), dann komplett entfernt, um wenig später erneut aufgenommen zu werden (u. a. 1., 2); dann tauchten Probleme auf, woraufhin die Entwickler Ramster lahm gelegt haben, um das einige Wochen später dann zu revidieren, nachdem diese Probleme beseitigt wurden.

Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:

Dateisysteme

SCSI

Storage

Network – LAN

Network – WLAN

Network – Various

Audio

EDAC, Hwmon, I2C & Watchdog

HID & Input

Media

MFC, MMC & NAND

Platform

Staging

USB

Various

Ein "C" im Bereich "[  ]" kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "D" ausgezeichneten Patches verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer. Änderungen ohne Zahl sind kleiner als 10 KByte.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor".

(thl) (thl)