Der Linux-Kernel hat in den letzten Jahren umfassende Terminologiereformen vorangetrieben und Begriffe wie „Master/Slave“ und „Blacklist/Whitelist“ nach und nach durch neutralere Ausdrücke ersetzt. Allerdings gab es im Kernel-Code schon immer eine Funktion namens „d_genocide()“, die in Linux 6.19 endgültig entfernt wurde. Diese Funktion wurde ursprünglich mit einer Reihe von dcache-Updates im Jahr 2023 in die Hauptlinie integriert. Als sie eingereicht wurde, löste sie in der Community eine Diskussion darüber aus, ob die Benennung angemessen sei.

image.webp

Die Benennung der Funktion „d_genocide()“ wurde vom langjährigen Kernel-Entwickler Al Viro in Frage gestellt und verteidigt. Er erklärte damals, dass die Funktion die Absicht habe, „den gegebenen Eintrag und alle seine untergeordneten Elemente zusammen zu löschen“. Es ist fast unmöglich, ein reales Wort für dieses Verhalten zu finden, das keine negativen Assoziationen hervorruft. Diese Funktion wird nur in kill_litter_super() aufgerufen und ist unter bestimmten Umständen für die Bereinigung „durchgesickerter“ Verzeichniseintragsreferenzen im Dateisystem verantwortlich. Beispielsweise speichern einige Dateisysteme den gesamten Verzeichnisbaum im DCache und verhindern durch zusätzliche Referenzzählung, dass Forward Dentry wiederverwendet wird. Dieser Stapel verbleibender Referenzen muss sofort gelöscht werden, wenn das Dateisystem ausgehängt wird.

Mit dem neuesten Patch von Linux 6.19 wurde dieser Codesatz im Zusammenhang mit „d_genocide()“ und „DCACHE_GENOCIDE“ vollständig entfernt und durch eine Rekonstruktion des Deinstallationsprozesses ersetzt. Gemäß den Anweisungen von Al Viro in der Zusammenführungsanforderung wird nun die reguläre Funktion „shrink_dcache_for_umount()“ verwendet, um die DCACHE_PERSISTENT-Markierung aller Einträge einheitlich zu entfernen und die Referenzanzahl entsprechend zu reduzieren, wenn die Markierung vorhanden ist. Auf diese Weise entspricht das Verhalten von kill_litter_super() dem Verhalten von kill_anon_super() und es besteht keine Notwendigkeit für eine separate „Völkermord“-Logik.

Es ist zu beachten, dass das Wort „Genozid“ nur in den Funktionsnamen und zugehörigen Tags des Kernels vorkommt und den Endbenutzern niemals direkt angezeigt wird. Da die Linux-Community jedoch weiterhin die Sprachintegration fördert, scheint ein solcher Name mit einer starken negativen Konnotation immer noch fehl am Platz zu sein, sodass seine Streichung bei dieser Umgestaltung auch als eine Anpassung angesehen wird, die besser zum Gesamtstil passt. Mit der Weiterentwicklung von Linux 6.19 wurde diese historisch umstrittene Namensgebung offiziell aus dem Kernel-Code entfernt.