Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Aug 2002 15:23:29 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        ken@kdm.org
Cc:        johan@FreeBSD.ORG, nsayer@quack.kfu.com, freebsd-gnats-submit@FreeBSD.ORG, freebsd-scsi@FreeBSD.ORG, freebsd-standards@FreeBSD.ORG, sos@FreeBSD.ORG
Subject:   Re: kern/15608: acd0 / cd0 give inconsistent errors on empty tray open()
Message-ID:  <20020822.152329.129782316.imp@bsdimp.com>
In-Reply-To: <20020822150931.A10866@panzer.kdm.org>
References:  <200208221942.g7MJgMpY037865@freefall.freebsd.org> <20020822150931.A10866@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020822150931.A10866@panzer.kdm.org>
            "Kenneth D. Merry" <ken@kdm.org> writes:
: The question is, what sort of error should we return from a peripheral
: driver (cd(4), da(4), etc.) open() routine when there is no media in the
: drive?
: 
: Currently all CAM drivers will return ENXIO, and although the PR says that
: the acd(4) driver returns EIO, I can't tell from acdopen that it returns
: any errors at all if media isn't present.
: 
: My guess is that EIO is getting returned sometime later in the acd(4)
: driver.  (If that is still the case, this PR was filed in late 1999.)
: 
: So is there any opinion on -standards as to what sort of error we should
: return on open if there is no media in a drive?

EIO means "The device is there, but the driver had problems
interacting with it" while ENXIO means "the device isn't there at
all."  As such, EIO is the more correct error to return in this case.

I don't know if the standards speak to this specific issue (no or bad
media in a device with removable media).

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020822.152329.129782316.imp>