Этот вопрос только для праздного любопытства, но я подозреваю, что другие будут любопытны также. Просматривая errno.h (в Linux 2.6), я нашел ENOANO "Без анода". Нет никаких признаков ошибки "Нет катода". Просматривая соответствия исходного кода ядра, кажется, что оно не используется устройством, называемым анодом, только как намеренно странный код ошибки некоторыми неясными драйверами устройств. Поиск в Google ничего интересного не выявил.
Может быть, это шутка? Это определено в стандартном документе, таком как POSIX, но бесполезно?
linux-kernel
history
exit-status
Дэн Шеппард
источник
источник
Ответы:
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 года), в которой «анод» упоминается как вариант «инода», но, кроме этого, он даже тогда был довольно неясным. Solaris
errno.h
подтверждает конвергентное происхождение: он перечисляет ENOANO в разделе «конвергентная возвращает ошибку» (вместе с несколькими другими кодами ошибок с эзотерическими описаниями , но , по крайней мере смутно понятный , как «недействительным обмен», «обмен полного» или «недействительным слот» которые используют еще несколько водителей).Таким образом, ENOANO, вероятно, указал, что либо ядро исчерпало память для inode, либо что таблица inode файловой системы была переполнена в некотором коммерческом Unix в 1980-х годах. Тот Unix теперь забыт, его терминология теперь забыта, и из-за некоторых странностей код ошибки остался без изменений.
По крайней мере, это не « lp0 в огне ».
источник
Интересно, какова связь с патентом «Писать где угодно, файловая система EP 1003103 A2», который, кажется, описывает то, что мы сейчас называем распределенной файловой системой.
https://www.google.com/patents/EP1003103A2
источник