looking for error codes
Andriy Gapon
avg at FreeBSD.org
Tue Apr 5 13:19:39 UTC 2011
on 01/04/2011 17:29 Andriy Gapon said the following:
>
> I am looking for error codes that would unambiguously signal that a disk drive has
> readonly or write-protected media and that disk drive has no media at the moment.
> I foresee these error codes being used mostly between disk peripheral drivers and
> filesystem drivers.
>
> I will appreciate your suggestions.
>
> P.S.
> I see that Linux uses EROFS and ENOMEDIUM for these purposes.
> I am not sure about EROFS in this role.
> And we don't have ENOMEDIUM (nor EMEDIUMTYPE).
Thanks for all the error code suggestions so far :-)
It seems that ENODEV could be a good choice for signaling readonly or
write-protected media on write access:
19 ENODEV Operation not supported by device. An attempt was made to
apply an inappropriate function to a device, for example, trying
to read a write-only device such as a printer.
BTW, SCSI code currently maps that condition to EACCES, but I don't think that
that is the best choice - the error could be also produced by
"permissions-related" checks. E.g. from intro(2):
13 EACCES Permission denied. An attempt was made to access a file in a
way forbidden by its file access permissions.
As for the ENOMEDIUM, I don't think that adding a distinct error code here would
provide any new useful abilities. So, ENXIO should still be a good option.
--
Andriy Gapon
More information about the freebsd-scsi
mailing list