Date: Thu, 22 Aug 2002 22:32:04 -0600 From: "Kenneth D. Merry" <ken@kdm.org> To: Bruce Evans <bde@zeta.org.au> Cc: "M. Warner Losh" <imp@bsdimp.com>, 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: <20020822223203.A13222@panzer.kdm.org> In-Reply-To: <20020823122010.S6402-100000@gamplex.bde.org>; from bde@zeta.org.au on Fri, Aug 23, 2002 at 12:41:28PM %2B1000 References: <20020822.152329.129782316.imp@bsdimp.com> <20020823122010.S6402-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 23, 2002 at 12:41:28 +1000, Bruce Evans wrote: > On Thu, 22 Aug 2002, M. Warner Losh wrote: > > > In message: <20020822150931.A10866@panzer.kdm.org> > > "Kenneth D. Merry" <ken@kdm.org> writes: > > : 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. > > No, EIO means that an input/output arror occurred. open.2 only documents > EIO for creating files. Otherwise open() normally doesn't do any i/o. > So ENXIO is the more correct error. Cool. > I think the bug is that the open doesn't succeed. The device is > reported as being there at boot time, and there is enough of it there > to tell which parts of it aren't there, so why not open() it so that > you do things like ioctl() on it to close its door and make it there? There is no ioctl in the interface for loading a CD. None of the other ioctls, I think, make much sense without media in the drive. The reason we need to do a read capacity in the open() routine, which is why the open fails when there is no media, is so we can fill in the d_secsize and d_secperunit fields in the disklabel. > > I don't know if the standards speak to this specific issue (no or bad > > media in a device with removable media). > > POSIX doesn't say anything much different from open.2 about this. > > Bruce Ken -- Kenneth Merry ken@kdm.org 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?20020822223203.A13222>