Esta pregunta es simplemente por curiosidad ociosa, pero sospecho que otros también serán curiosos. Buscando a través de errno.h (de Linux 2.6) encontré ENOANO "No Anode". No hay signos de un error "Sin cátodo". Mirando a través de las concordancias de la fuente del núcleo, no parece ser utilizado por un dispositivo llamado ánodo, solo como un código de error deliberadamente loco por algunos controladores de dispositivo oscuros. Buscar en Google no reveló nada de interés.
¿Es acaso una broma? ¿Está definido en un documento estándar como POSIX, pero no sirve?
linux-kernel
history
exit-status
Dan Sheppard
fuente
fuente
Respuestas:
ENOANO
apareció en Linux 0.97 , que fue lanzado el 1992-08-01. Durante mucho tiempo, no se usó en ninguna parte; desde entonces se ha usado de vez en cuando en algunos controladores como "No sabía qué código de error usar". Ahora solo está enuapi/asm-generic/errno.h
(es decir, en los archivos de encabezado para los programas de usuario ), pero se movió allí automáticamente, por lo que no hay indicación de si a alguien le importa.El
errno.h
encabezado en 0.97 llamó la atención porque es uno de los archivos que SCO afirmó que se copió de Unix SVR4 . En el momento de las reclamaciones de la OCS, Linus Torvalds no recordaba cómo se había reunido ese archivo ; más tarde descubrió que se había generado a partir de valores conocidos por libc 2.2.2 . Esta era una biblioteca C para Linux, distribuida con un puerto de GCC para Linux . Esa biblioteca probablemente habría incluido códigos de error de todo tipo de variantes de Unix que existían en ese momento.Stéphane Chazelas descubrió que el término "ánodo" se usaba en Convergent / Burroughs Unix (CENTIX) como sinónimo de inodo . Encontré otro libro (de 1993) que menciona "ánodo" como una variante de "inodo", pero aparte de eso, parece haber sido bastante oscuro incluso entonces. El Solaris
errno.h
confirma el origen convergente: enumera ENOANO en una sección titulada "Devoluciones de errores convergentes" (junto con algunos otros códigos de error con descripciones esotéricas pero al menos vagamente comprensibles como "intercambio no válido", "intercambio completo" o "ranura no válida" que usan algunos controladores más).Entonces ENOANO probablemente indicó que el núcleo se había quedado sin memoria para inodos, o que la tabla de inodos del sistema de archivos estaba llena, en algunos Unix comerciales en la década de 1980. Ese Unix ahora está olvidado, su terminología ahora está olvidada y, debido a alguna peculiaridad, el código de error se ha mantenido.
Al menos no es " lp0 en llamas ".
fuente
Me pregunto cuál es la relación con la patente 'Escribir en cualquier lugar el diseño del sistema de archivos EP 1003103 A2', que parece describir lo que ahora llamamos sistema de archivos distribuido.
https://www.google.com/patents/EP1003103A2
fuente