Essa pergunta é meramente curiosa, mas suspeito que outros também serão curiosos. Pesquisando no errno.h (do Linux 2.6), encontrei o ENOANO "No Anode". Não há sinal de erro "Sem cátodo". Observando as concordâncias da fonte do kernel, ele não parece ser usado por um dispositivo chamado ânodo, apenas como um código de erro deliberadamente maluco de alguns drivers de dispositivo obscuros. O Google não revelou nada de interessante.
Talvez seja uma piada? É definido em um documento de padrões como o POSIX, mas não serve?
linux-kernel
history
exit-status
Dan Sheppard
fonte
fonte
Respostas:
ENOANO
apareceu no Linux 0.97 , lançado em 01/08/1992. Por muito tempo, não foi usado em lugar algum; desde então, é usado de vez em quando em alguns drivers como "eu não sabia qual código de erro usar". Agora ele está apenas emuapi/asm-generic/errno.h
(ou seja, nos arquivos de cabeçalho dos programas da terra do usuário ), mas foi movido para lá automaticamente, de modo que não há indicação de que alguém se importe com isso.O
errno.h
cabeçalho em 0,97 chamou atenção porque é um dos arquivos que o SCO afirmou ter sido copiado do Unix SVR4 . Na época das reivindicações da SCO, Linus Torvalds não se lembrava de como esse arquivo havia sido montado ; ele descobriu mais tarde que havia sido gerado a partir de valores conhecidos pela libc 2.2.2 . Esta era uma biblioteca C para Linux, distribuída com uma porta do GCC para Linux . Essa biblioteca provavelmente incluiria códigos de erro de todos os tipos de variantes do Unix existentes na época.Stéphane Chazelas descobriu que o termo “ânodo” era usado no Convergent / Burroughs Unix (CENTIX) como sinônimo de inode . Eu encontrei outro livro (de 1993) mencionando "anode" como uma variante de "inode", mas fora isso, parece ter sido bastante obscuro até então. O Solaris
errno.h
confirma a origem convergente: lista ENOANO em uma seção intitulada "Retorno de erro convergente" (junto com alguns outros códigos de erro com descrições esotéricas, mas pelo menos vagamente compreensíveis como "troca inválida", "troca cheia" ou "slot inválido" que mais alguns drivers usam).Portanto, o ENOANO provavelmente indicou que o kernel ficou sem memória para os inodes ou que a tabela de inodes do sistema de arquivos estava cheia, em algum Unix comercial nos anos 80. Que o Unix agora está esquecido, sua terminologia agora está esquecida e, devido a algumas peculiaridades, o código de erro ficou por aí.
Pelo menos não é " lp0 em chamas ".
fonte
Gostaria de saber qual é a relação com a patente 'Gravar em qualquer lugar o sistema de arquivos EP 1003103 A2', que parece descrever o que chamamos agora de sistema de arquivos distribuído.
https://www.google.com/patents/EP1003103A2
fonte