Для чого призначений ENOANO (Без анода)?


11

Це питання викликає просто цікавість, але я підозрюю, що цікаво буде й інших. За допомогою пошуку errno.h (Linux 2.6) я знайшов ENOANO "No Anode". Немає ознаки помилки "Без катода". Переглядаючи узгодження джерела ядра, він, схоже, не використовується пристроєм під назвою анод, лише як свідомо хиткий код помилки деякими незрозумілими драйверами пристроїв. Гуглінг не виявив нічого цікавого.

Це може бути жарт? Чи визначено це у стандартному документі, такому як POSIX, але без користі?


3
Це помилка, яку ви отримуєте, якщо забудете приєднати блок живлення.
goldilocks

2
Здається, йде з конвергентних систем Unix archive.org/stream/…
Stéphane Chazelas

1
А, це виглядає правдоподібно, @ Stéphane Chazelas. Схоже, анод - це вузол, як інод.
Ден Шеппард

Відповіді:


14

ENOANOз'явився в Linux 0.97 , який вийшов 1992-08-01. Дуже довго його не використовували ніде; він з тих пір використовується в деяких драйверах як "я не знав, який код помилки використовувати". Тепер це лише в uapi/asm-generic/errno.h(тобто у файлах заголовків для програм userland ), але він переміщувався туди автоматично, тому це не вказує на те, чи хтось про це піклується.

errno.hТема 0,97 отримав належну увагу , тому що це один з файлів , які SCO стверджувала , була скопійована з Unix SVR4 . На час заяв ШОС Лінус Торвальдс не пам'ятав, як цей файл був зібраний ; пізніше він виявив, що це було породжене з значень, відомих libc 2.2.2 . Це була бібліотека С для Linux, поширювана з портом GCC для Linux . Ця бібліотека, ймовірно, включила б коди помилок з усіх видів Unix-варіантів, які були на той час.

Стефан Шазелас встановив, що термін "анод" вживався в конвергенті / Burroughs Unix (CENTIX) як синонім inode . Я знайшов ще одну книгу (з 1993 року), де згадується "анод" як варіант "інода", але крім цього, здається, він був досить незрозумілим і тоді. Solariserrno.h підтверджує конвергентное походження: він перераховує ENOANO в розділі «конвергентная повертає помилку» (разом з кількома іншими кодами помилок з езотеричними описами , але , по крайней мере смутно зрозумілий , як «недійсним обмін», «обмін повного» або «недійсним слот» якими користуються ще кілька драйверів).

Отже, ENOANO, ймовірно, вказував, що або у ядра не вистачало пам'яті для inode, або в таблиці коду файлової системи було повно, у деяких комерційних Unix у 1980-х. Цей Unix зараз забутий, його термінологія зараз забута, і через деяку химерність код помилки залишився навколо.

Принаймні, це не " lp0 у вогні ".


2
У мене є копія errno.h 1988 року з Xenix 2.3.1, в якій згадується про купу errnos у розділі "Повернення повернення помилок". Те саме там .
Стефан Шазелас

0

Цікаво, яке відношення до патенту "Пишіть де-небудь макет файлової системи EP 1003103 A2", який, схоже, описує те, що ми зараз називаємо розподіленою файловою системою.

https://www.google.com/patents/EP1003103A2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.