ENOANO (ไม่มีขั้วบวก) มีไว้เพื่ออะไร


11

คำถามนี้เป็นเพียงความอยากรู้ที่ไม่ได้ใช้งาน แต่ฉันสงสัยว่าคนอื่นจะอยากรู้อยากเห็นเช่นกัน การค้นหา errno.h (จาก Linux 2.6) ฉันพบ ENOANO "No Anode" ไม่มีสัญญาณของข้อผิดพลาด "ไม่มีแคโทด" เมื่อมองผ่านความสอดคล้องของแหล่งที่มาของเคอร์เนลดูเหมือนว่าจะไม่ถูกใช้โดยอุปกรณ์ที่เรียกว่าแอโนดซึ่งเป็นรหัสข้อผิดพลาดที่ผิดปกติอย่างจงใจโดยไดรเวอร์อุปกรณ์ที่ไม่ชัดเจน Googling เปิดเผยว่าไม่มีอะไรน่าสนใจ

มันอาจเป็นเรื่องตลกหรือไม่? มันกำหนดไว้ในเอกสารมาตรฐานเช่น POSIX แต่ไม่มีประโยชน์หรือไม่?


3
นี่เป็นข้อผิดพลาดที่คุณได้รับหากคุณลืมแนบแหล่งจ่ายไฟ
goldilocks

2
น่าจะมาจากการบรรจบระบบยูนิกซ์archive.org/stream/...
Stéphane Chazelas

1
Ah, ที่น่าเชื่อถือ, @ Stéphane Chazelas ดูเหมือนว่า anode จะเป็น a-node เหมือน inode
Dan Sheppard

คำตอบ:


14

ENOANOปรากฏในLinux 0.97ซึ่งเผยแพร่เมื่อ 1992-08-01 เป็นเวลานานมากที่ไม่ได้ใช้งานทุกที่ มันถูกใช้มาตั้งแต่ตอนนี้แล้วในไดร์เวอร์บางตัวเนื่องจาก“ ฉันไม่รู้รหัสข้อผิดพลาดที่จะใช้” ตอนนี้เป็นเฉพาะในuapi/asm-generic/errno.h(เช่นในไฟล์ส่วนหัวสำหรับโปรแกรม userland ) แต่มันถูกย้ายไปที่นั่นโดยอัตโนมัติดังนั้นจึงไม่มีข้อบ่งชี้ว่ามีใครสนใจหรือไม่

errno.hหัวใน 0.97 ได้รับความสนใจบางอย่างเพราะมันเป็นหนึ่งของแฟ้มที่SCO อ้างว่าได้รับการคัดลอกมาจากยูนิกซ์ SVR4 ในช่วงเวลาที่ SCO อ้างว่าLinus Torvalds จำไม่ได้ว่าไฟล์ดังกล่าวได้รับการประกอบอย่างไร ต่อมาเขาพบว่ามันถูกสร้างขึ้นจากค่าที่รู้จักกันโดย 2.2.2 นี่คือห้องสมุด C สำหรับลินุกซ์กระจายกับพอร์ตของ GCC สำหรับลินุกซ์ ห้องสมุดนั้นน่าจะรวมรหัสข้อผิดพลาดจากตัวแปร unix ทุกชนิดที่อยู่รอบ ๆ

Stéphane Chazelas พบว่าคำว่า“ขั้วบวก” ถูกนำมาใช้ในการบรรจบ / โรห์ Unix (CENTIX)เป็นไวพจน์ของinode ฉันพบหนังสืออีกเล่มหนึ่ง (จากปี 1993) พูดถึง "แอโนด" เป็นตัวแปรของ "inode" แต่นอกเหนือจากนั้นดูเหมือนว่าจะไม่ชัดเจนเลยทีเดียว Solariserrno.hยืนยันแหล่งที่มาบรรจบ: มันแสดงรายการ ENOANO ในส่วนหัวข้อ“บรรจบกลับข้อผิดพลาด” (ร่วมกับรหัสข้อผิดพลาดอื่น ๆ ไม่กี่มีรายละเอียดลึกลับ แต่อย่างน้อยรางเข้าใจเช่น“การแลกเปลี่ยนที่ไม่ถูกต้อง”“การแลกเปลี่ยนเต็มรูปแบบ” หรือ“ช่องไม่ถูกต้อง” ซึ่งใช้ไดรเวอร์อีกสองสามตัว)

ดังนั้น ENOANO อาจระบุว่าเคอร์เนลมีหน่วยความจำไม่เพียงพอสำหรับ inodes หรือว่าตาราง inode ของระบบไฟล์เต็มใน Unix เชิงพาณิชย์บางแห่งในปี 1980 Unix นั้นถูกลืมตอนนี้คำศัพท์ของมันก็ถูกลืมไปแล้วและเนื่องจากข้อผิดพลาดบางอย่างที่รหัสข้อผิดพลาดยังคงมีอยู่

อย่างน้อยก็ไม่ใช่“ lp0 on fire


2
ฉันได้สำเนา errno.h 1988 จาก Xenix 2.3.1 กล่าวถึงกลุ่ม errnos จำนวนหนึ่งภายใต้หัวข้อ "Convergent Error Returns" เดียวกันมี
Stéphane Chazelas

0

ฉันสงสัยว่าอะไรคือความสัมพันธ์กับสิทธิบัตร 'เขียนที่ใดก็ได้เค้าโครงไฟล์ระบบ EP 1003103 A2' ที่ดูเหมือนจะอธิบายสิ่งที่เราเรียกตอนนี้ว่าระบบไฟล์แบบกระจาย

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.