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 em uapi/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 Solariserrno.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 ".