Линус Торвальдс снова в деле! В обсуждении патчей для Linux 6.15 он жёстко раскритиковал case-insensitive файловые системы. По его словам, это «полный отстой» и «кошмар для разработчиков». 💻🤬
Пока одни пытаются сделать системы «удобнее», Торвальдс стоит на страже UNIX-философии. Кто прав? Делитесь в комментах! 👇 #linux #dev
Создатель Linux Линус Торвальдс в очередной раз выразил резкую критику в адрес case-insensitive файловых систем. Поводом стал обновленный драйвер для файловой системы Bcachefs в Linux 6.15-rc4, где обнаружились проблемы с поддержкой case-insensitive режима. Разработчик Bcachefs Кент Оверстрит признал, что тесты для соответствующих патчей не были должным образом проверены перед их включением в ядро почти два года назад. Торвальдс отреагировал резко: «Единственный урок здесь — разработчики файловых систем никогда не учатся». Он назвал case-insensitive имена «ужасно неправильными» и подчеркнул, что сама идея их реализации ошибочна. По его словам, попытки сделать case-insensitive сравнение «правильным» приводят к магическому поведению случайных байтов и потенциальным уязвимостям. Особенно Торвальдса беспокоят проблемы безопасности, когда пользовательское пространство проверяет имя файла, а файловая система из-за case-insensitive сравнения все равно пропускает запрещенный паттерн. В ходе оживленной дискуссии Оверстрит настаивал, что case-insensitive режим востребован пользователями, а Торвальдс парировал, что ни разу не видел его грамотной реализации с пониманием работы UTF-8 и Unicode. Спор затронул технические детали работы dcache (кэша директорий в Linux), где Торвальдс, как автор большей части этого кода, опроверг утверждения Оверстрита о его устройстве. В итоге диалог завершился с ироничным замечанием Торвальдса о признании своей правоты. Это не первый случай, когда Торвальдс жестко критикует case-insensitive подход — ранее он называл его «багом», а не фичей, и сравнивал с плохой имитацией старой файловой системы FAT.
