Kernel-Log – Was 2.6.37 bringt (2): Dateisysteme

Seite 2: Btrfs, Ceph, NFS, XFS und Co.

Inhaltsverzeichnis

Einen guten Überblick über die Änderungen an Btrfs gibt der Git-Pull-Request von Chris Mason. So brachte Red-Hat-Entwickler Josef Bacik Änderungen ein, durch die das "Next Generation Linux File System" eine Liste freie Blöcke in einer speziellen Inode zwischenspeichert, sofern das Dateisystem mit "-o space_cache" eingebunden wird. Das macht das Btrfs nach einem frischen Mounten "erheblich flotter", weil die Strukturen nicht nach freien Blöcken abgesucht werden müssen. Kurz vor Freigabe der vierten Vorabversion von 2.6.37 stießen zudem noch einige Korrekturen am Btrfs-Code zum Kernel, unter anderem für Probleme, die sich beim Einsatz von Direct I/O oder beim Zusammenspiel mit NFS zeigten.

Eine umfangreiche, im Git-Pull-Request kurz erläuterte Umstrukturierung gab es beim teilweise auf dem Btrfs aufbauenden Code des Cluster-Dateisystems Ceph: Teile des Dateisystem-Codes wurden in die Kernel-interne Library libceph verlagert, auf die neben Ceph auch das neue und experimentelle Rados Block Device (RDB) aufsetzt. Ähnlich wie mit nbd oder iSCSI lassen sich damit Block Devices erstellen, deren Daten im Netz liegen – in diesem Fall in einem Ceph-Cluster. Weitere Hintergründe und eine Kurzbeschreibung der Funktion liefern ein Blog-Eintrag der Ceph-Entwickler und das Ceph-Wiki.

Der CIFS-Code zum Zugriff von Samba- oder Windows-Freigaben unterstützt nun die Mount-Option multiuser und mfsymlinks. Mit Hilfe eines neuen Idmappers kann der NFS-Client schneller und flexibler zwischen Namen und Identifikationsnummern (IDs) für Benutzer und Gruppen übersetzen – Details zur Funktion liefert die zugehörige Dokumentation. Einige Optimierungen am Readdir-Code von NFSv4 können das Auflisten von Verzeichnissen mit vielen Dateien erheblich beschleunigen, wie der Entwickler der Änderung mit Messwerten im Commit-Kommentar zeigt. Einige der wichtigsten Änderungen am NFSD-Code führt J. Bruce Fields in seinem Git-Pull-Request auf.

Einen guten Überblick über die Änderungen an XFS liefert das "XFS Status Update For October 2010" – einige Optimierungen rund um die Metadaten (u. a. 1) sollen etwa die Skalierbarkeit weiter verbessern und hätten das Entfernen von 50 Millionen Dateien in einem Test um über hundert Prozent beschleunigt.

Das Cluster-Dateisystem GFS2 gilt nicht mehr als experimentell und bietet nun Unterstützung für Fallocate. Einige weitere Änderungen an GFS finden sich im Git-Pull-Request von Steven Whitehouse; der von Joel Becker listet die wichtigsten Änderungen an OCFS2, der von Ryusuke Konishi die an NILFS2.