ENOANO
появился в Linux 0.97 , выпущенном в 1992-08-01. В течение очень долгого времени он нигде не использовался; с тех пор он время от времени использовался в некоторых драйверах как «я не знал, какой код ошибки использовать». Это теперь только в uapi/asm-generic/errno.h
(то есть в заголовочных файлах для пользовательских программ ), но оно было перемещено туда автоматически, так что это не указывает на то, заботится ли кто-нибудь об этом.
errno.h
Заголовок 0,97 получил некоторое внимание , потому что это один из файлов , которые SCO утверждала , была скопирована из Unix SVR4 . Во время претензий ШОС Линус Торвальдс не помнил, как этот файл был собран ; позже он обнаружил, что он был сгенерирован из значений, известных libc 2.2.2 . Это была библиотека C для Linux, распространяемая с портом GCC для Linux . Эта библиотека, вероятно, включала бы коды ошибок из всех разновидностей Unix, которые были в то время.
Стефан Шазелас обнаружил, что термин «анод» использовался в конвергентном / Берроуз Unix (CENTIX) в качестве синонима инода . Я нашел другую книгу (с 1993 года), в которой «анод» упоминается как вариант «инода», но, кроме этого, он даже тогда был довольно неясным. Solariserrno.h
подтверждает конвергентное происхождение: он перечисляет ENOANO в разделе «конвергентная возвращает ошибку» (вместе с несколькими другими кодами ошибок с эзотерическими описаниями , но , по крайней мере смутно понятный , как «недействительным обмен», «обмен полного» или «недействительным слот» которые используют еще несколько водителей).
Таким образом, ENOANO, вероятно, указал, что либо ядро исчерпало память для inode, либо что таблица inode файловой системы была переполнена в некотором коммерческом Unix в 1980-х годах. Тот Unix теперь забыт, его терминология теперь забыта, и из-за некоторых странностей код ошибки остался без изменений.
По крайней мере, это не « lp0 в огне ».