Christoph Helwig hat nach der Einführung von Rust das Amt des Maintainers für die DMA-Zuordnung und ConfigFS niedergelegt.

Christoph Hellwig hat seine Position als Maintainer der Subsysteme dma-mapping und configfs aufgegeben. Der Rücktritt beschränkte sich auf die Einreichung eines Antrags auf Streichung aus der Maintainer-Liste und die Mitteilung über die Übergabe der Verantwortung an die verbleibenden Betreuer. Im Subsystem dma-mapping wird die Betreuung von Marek Szyprowski von Samsung übernommen, während Joel Becker von Oracle für configfs zuständig sein wird.

Christoph Hellwig bleibt vorerst einer der Maintainer der Subsysteme NVM Express, vmalloc und FreeVXFS. In der Vergangenheit war Christoph Mitglied des Leitungsteams der Linux Foundation und beteiligte sich an der Entwicklung solcher Subsysteme wie XFS, KVM, Trace events, SCSI und Slab Allocator und kümmerte sich auch um die Betreuung der PowerPC-Architektur im Linux-Kernel. Außerdem war Christoph Kläger in einem Rechtsstreit mit VMware wegen eines Verstoßes gegen die GPL-Lizenz.

Das Ende der Betreuung der Subsysteme dma-mapping und configfs ist auf die Aussage von Linus Torvalds zurückzuführen, dass er plant, Rust-Bindings unabhängig von der Zustimmung der Maintainer der Subsysteme, für die diese Bindings erstellt wurden, in den Kernel aufzunehmen. Im Januar lehnte Christoph prinzipiell ab, die Rust-Bindings für die Funktionen zur Arbeit mit DMA in den Kernel aufzunehmen, was zu einem Konflikt führte, infolgedessen die Maintainer der Subsysteme Nouveau und ARM/Apple den Kernel verlassen haben. Am 24. Februar schlugen die Entwickler des Projekts Rust für Linux einen Patch mit einer Abstraktionsschicht für das FS configfs vor, um deren Betreuung sich Christoph Hellwig kümmerte. Christoph beteiligte sich nicht an der Diskussion über die neuen Rust-Bindings für sein Subsystem und entfernte sich einige Tage später von der Liste der Maintainer für dma-mapping und configfs.

Christoph Hellwig hält die Verwendung mehrerer Programmiersprachen in so komplexen Projekten wie dem Linux-Kernel für unzulässig. Seiner Meinung nach erschweren gemischte Codebasen die Arbeit der Maintainer, da sie diese von Code in einer anderen Sprache abhängig machen. Insbesondere bei Vorhandensein von Bindings in Rust müssen die Entwickler der Subsysteme, die in C geschrieben sind, die Auswirkungen ihrer Änderungen auf die Funktionalität der Bindings berücksichtigen. Jede Änderung von Datenstrukturen oder internen Funktionen in C kann die Notwendigkeit zur Änderung des Bindings-Codes mit sich bringen; deshalb müssen Änderungen in C, die sich auf die Bindings auswirken, verfolgt und mit dem Code in Rust synchronisiert werden.

Im Prozess der Kernel-Entwicklung gab es bereits Fälle, in denen Pull-Requests mit Änderungen im Speichermanagement-System abgelehnt wurden, da diese Änderung zu einem Absturz bei dem Versuch führte, den Kernel mit Unterstützung für Rust zu kompilieren. Der Absturz entstand durch die Desynchronisation mit dem Code zur Generierung von Rust-Bindings (bindgen) und führte dazu, dass die für das Speichermanagement zuständigen Teile bei der Übernahme der Änderung, die aus Sicht des C-Codes und des Kernels im Allgemeinen völlig korrekt war, von optionalem Drittanbieter-Code im Kernel abhängig waren, für den andere Personen verantwortlich sind.

Linus Torvalds ist der Meinung, dass Christoph Hellwig nicht befugt ist, die Aufnahme von Rust-Bindings für das DMA-System im Kernel zu blockieren, da der Code dieser Bindings den Code des DMA-Mappings nicht berührt und in einem separaten Unterverzeichnis implementiert ist, dessen Wartung von einem separaten Maintainer übernommen wird. Linus verglich Christophs Vorgehen mit dem Versuch, den Anwendungsbereich des DMA-Systems zu kontrollieren, während die Maintainer nur für den Code ihres eigenen Subsystems verantwortlich sind, nicht dafür, wie und von wem das Ergebnis dieser Arbeiten genutzt wird. Beispielsweise kann eine Änderung im Code der Grundsysteme zu Problemen mit der Funktionsweise eines Treibers führen, aber das ist kein Grund, in die Aufnahme neuer Treiber einzugreifen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4