lkml.org 
[lkml]   [1999]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: funny inconsistency in error returns
Date
From
Andreas Schwab wrote:
> Andries.Brouwer@cwi.nl writes:
>
> |> I see ENXIO upon open("/dev/hdd"), and ENODEV upon open("/dev/hde");
> |> It is clear why this happens
> |> (hde has major 33, and blkdev_open does not know it and returns -ENODEV;
> |> hdd has major 22, known since hdc exists, and ide_open returns -ENXIO).
> |> Both error numbers are OK, but the inconsistency is a microscopic flaw.
> |> Maybe ide_open() should also return ENODEV.
>
> I think both should be using ENXIO. From the glibc docs:
>
> - Macro: int ENXIO
> No such device or address. The system tried to use the device
> represented by a file you specified, and it couldn't find the
> device. This can mean that the device file was installed
> incorrectly, or that the physical device is missing or not
> correctly attached to the computer.
>
> - Macro: int ENODEV
> The wrong type of device was given to a function that expects a
> particular sort of device.

Intuitively I'd have said that ENODEV would also be for the "this
device doesn't exist" case. I just checked, but sunos 4.x, HPUX 9 and
Irix 5.x (Jees, what an old bunch) all agree with the above
explanation. They also copied the manpage around litterally.

Roger.

--
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
* Never blow in a cat's ear because if you do, usually after three or *
* four times, they will bite your lips! And they don't let go for at *
* least a minute. -- Lisa Coburn, age 9

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.350 / U:0.780 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site