Как столь агрессивный термин продержался в системном ядре почти два года?

В коде разрабатываемого ядра Linux 6.19 убрали функцию с вызывающим споры названием, чтобы привести терминологию проекта в соответствие с действующими рекомендациями по инклюзивному языку. Из исходников исчезла функция d_genocide(), а вместе с ней и связанный с ней флаг DCACHE_GENOCIDE.
Функция d_genocide() появилась в 2023 году в рамках доработки подсистемы dcache. Она отвечала за принудительное уничтожение указанной записи каталога вместе со всеми дочерними элементами, которые могли блокировать корректное отключение некоторых файловых систем. Код работал только на уровне исходников и никогда не выводился напрямую пользователям.
Автором изменений был разработчик ядра Linux Ал Виро. Когда у него несколько лет назад поинтересовались выбором столь жёсткого имени, он пояснял, что операция полного уничтожения дерева каталогов неизбежно ассоциируется с «неприятными» понятиями и подобрать нейтральный термин сложно. Тем не менее функция с таким названием прожила в кодовой базе около двух лет.
Теперь от неё отказались в ходе переработки соответствующего участка ядра. Логика работы перенесена в обновлённую функцию kill_litter_super(), из-за чего отдельная реализация d_genocide() больше не нужна. Инициатором изменений вновь выступил сам Ал Виро, так что речь идёт не о внешнем давлении, а о внутренней доработке архитектуры.
За последние годы проект ядра Linux уже пересмотрел ряд терминов, заменив выражения вроде «blacklist» и «slave» на более нейтральные аналоги. Особенность ситуации с d_genocide() в том, что эта функция была добавлена уже после того, как курс на инклюзивный язык был обозначен.
Неясно, было ли это своеобразным протестом против новых подходов или просто результатом стремления подчеркнуть разрушительный характер операции. В итоге разработчики привели и этот фрагмент кода в большее соответствие с заявленными принципами, отказавшись и от спорного названия, и от необходимости отдельной функции.