Untuk apa ENOANO (No Anode) dimaksudkan?


11

Pertanyaan ini semata-mata untuk keingintahuan kosong, tetapi saya curiga orang lain juga akan penasaran. Mencari melalui errno.h (dari Linux 2.6) saya menemukan ENOANO "No Anode". Tidak ada tanda-tanda kesalahan "No cathode". Melihat melalui konkordansi sumber kernel, sepertinya tidak digunakan oleh perangkat yang disebut anoda, hanya sebagai kode kesalahan yang sengaja dikerjakan oleh beberapa driver perangkat yang tidak jelas. Googling tidak mengungkapkan minat.

Apakah ini mungkin lelucon? Apakah ini didefinisikan dalam dokumen standar seperti POSIX, tetapi tidak digunakan?


3
Ini adalah kesalahan yang Anda dapatkan jika Anda lupa memasang catu daya.
goldilocks

2
Tampaknya datang dari sistem unix konvergen archive.org/stream/…
Stéphane Chazelas

1
Ah, itu terlihat masuk akal, @ Stéphane Chazelas. Sepertinya anoda adalah a-node, seperti inode.
Dan Sheppard

Jawaban:


14

ENOANOmuncul di Linux 0.97 , yang dirilis pada 1992-08-01. Untuk waktu yang sangat lama, itu tidak digunakan di mana pun; sejak saat itu telah digunakan sekarang dan kemudian di beberapa driver sebagai "Saya tidak tahu kode kesalahan apa yang digunakan". Sekarang hanya di uapi/asm-generic/errno.h(yaitu dalam file header untuk program userland ), tetapi dipindahkan di sana secara otomatis, jadi itu tidak ada indikasi apakah ada yang peduli tentang itu.

The errno.hheader 0,97 mendapat perhatian karena merupakan salah satu dari file yang SCO mengklaim disalin dari Unix SVR4 . Pada saat klaim SCO, Linus Torvalds tidak ingat bagaimana file itu dikumpulkan ; dia kemudian menemukan bahwa itu telah dihasilkan dari nilai-nilai yang dikenal dengan libc 2.2.2 . Ini adalah pustaka C untuk Linux, didistribusikan dengan port GCC untuk Linux . Perpustakaan itu mungkin akan menyertakan kode kesalahan dari semua jenis varian unix yang ada saat itu.

Stéphane Chazelas menemukan bahwa istilah "anoda" digunakan dalam Convergent / Burroughs Unix (CENTIX) sebagai sinonim dari inode . Saya menemukan buku lain (dari 1993) yang menyebutkan "anode" sebagai varian "inode", tetapi selain itu, tampaknya sudah cukup tidak jelas. The Solariserrno.h menegaskan asal Konvergen: itu daftar ENOANO di bagian berjudul “Konvergen Returns Error” (bersama-sama dengan beberapa kode kesalahan lain dengan deskripsi esoteris tapi setidaknya samar-samar dipahami seperti “pertukaran tidak valid”, “pertukaran penuh” atau “Slot valid” yang menggunakan beberapa driver lagi).

Jadi ENOANO mungkin mengindikasikan bahwa kernel kehabisan memori untuk inode, atau bahwa tabel inode filesystem penuh, di beberapa Unix komersial pada 1980-an. Unix itu sekarang dilupakan, terminologinya sekarang dilupakan, dan karena beberapa kekhasan, kode kesalahan tetap ada.

Setidaknya itu bukan " lp0 terbakar ".


2
Saya punya salinan errno.h 1988 dari Xenix 2.3.1 yang menyebutkan banyak errnos di bawah bagian berjudul "Convergent Error Returns". Sama di sana .
Stéphane Chazelas

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.