«Полный мусор» и «непротестированный хлам». Линус Торвальдс разнес разработчиков ядра и выкинул все обновления MMC из Linux 7.0
NewsMakerПодсистема хранения отклонена из-за ошибок сборки и отсутствия тестирования.
Иногда новости про ядро Linux читаются как разбор полетов после проваленного запуска ракеты. На этот раз под горячую руку Линуса Торвальдса попал набор изменений для подсистемы MMC, которая отвечает за работу с картами памяти и встроенными накопителями вроде eMMC. Планировалось, что в Linux 7.0 она получит поддержку нового железа, улучшения для безопасного стирания и TRIM на некоторых eMMC и еще пачку доработок. Но в итоге все это целиком отправили за борт на весь цикл 7.0: Торвальдс отказался принимать изменения, назвав их «полным мусором» и «непротестированным хламом».
Суть истории простая. Разработчики подготовили pull request с обновлениями MMC под Linux 7.0. Среди них упоминались, например, новые идентификаторы устройств NXP IW61x для Wi-Fi-чипов, работающих через SDIO, исправления, связанные с обработкой дат производства после 2025 года, оптимизация secure erase и TRIM для некоторых eMMC Kingston, чистка кода DW_MMC, поддержка Mediatek MT8189 в драйвере mtk-sd и разные правки для SHDCI-драйверов. Набор выглядел как типичный «пакет полезностей» перед релизом.
Проблема в том, что этот пакет, по словам Торвальдса, банально не собирался. Более того, он сделал акцент на том, что изменения, похоже, не проходили нормальную проверку через linux-next и не были толком протестированы. А для ядра это почти смертный грех: linux-next как раз нужен, чтобы новые ветки пожили вместе, прошли сборки на разных конфигурациях и поймали очевидные конфликты до того, как они прилетят в основную ветку.
Торвальдс даже указал на конкретный сбой. В одной из конфигураций, когда параметр CONFIG_MULTIPLEXER собирается как модуль, получалась ситуация, при которой часть кода компилируется, а заголовок включает не тот вариант объявлений, потому что проверяется условие не на тот символ конфигурации. В результате компилятор видит повторные определения и валит сборку. И именно этот коммит, добавлявший вспомогательные функции для mux, он назвал откровенно непротестированным мусором.
Иногда новости про ядро Linux читаются как разбор полетов после проваленного запуска ракеты. На этот раз под горячую руку Линуса Торвальдса попал набор изменений для подсистемы MMC, которая отвечает за работу с картами памяти и встроенными накопителями вроде eMMC. Планировалось, что в Linux 7.0 она получит поддержку нового железа, улучшения для безопасного стирания и TRIM на некоторых eMMC и еще пачку доработок. Но в итоге все это целиком отправили за борт на весь цикл 7.0: Торвальдс отказался принимать изменения, назвав их «полным мусором» и «непротестированным хламом».
Суть истории простая. Разработчики подготовили pull request с обновлениями MMC под Linux 7.0. Среди них упоминались, например, новые идентификаторы устройств NXP IW61x для Wi-Fi-чипов, работающих через SDIO, исправления, связанные с обработкой дат производства после 2025 года, оптимизация secure erase и TRIM для некоторых eMMC Kingston, чистка кода DW_MMC, поддержка Mediatek MT8189 в драйвере mtk-sd и разные правки для SHDCI-драйверов. Набор выглядел как типичный «пакет полезностей» перед релизом.
Проблема в том, что этот пакет, по словам Торвальдса, банально не собирался. Более того, он сделал акцент на том, что изменения, похоже, не проходили нормальную проверку через linux-next и не были толком протестированы. А для ядра это почти смертный грех: linux-next как раз нужен, чтобы новые ветки пожили вместе, прошли сборки на разных конфигурациях и поймали очевидные конфликты до того, как они прилетят в основную ветку.
Торвальдс даже указал на конкретный сбой. В одной из конфигураций, когда параметр CONFIG_MULTIPLEXER собирается как модуль, получалась ситуация, при которой часть кода компилируется, а заголовок включает не тот вариант объявлений, потому что проверяется условие не на тот символ конфигурации. В результате компилятор видит повторные определения и валит сборку. И именно этот коммит, добавлявший вспомогательные функции для mux, он назвал откровенно непротестированным мусором.