From owner-freebsd-scsi Thu Aug 22 19:40: 9 2002 Delivered-To: freebsd-scsi@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9290937B400 for ; Thu, 22 Aug 2002 19:40:05 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5219043E7B for ; Thu, 22 Aug 2002 19:40:05 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7N2e4JU040560 for ; Thu, 22 Aug 2002 19:40:04 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7N2e4vp040559; Thu, 22 Aug 2002 19:40:04 -0700 (PDT) Date: Thu, 22 Aug 2002 19:40:04 -0700 (PDT) Message-Id: <200208230240.g7N2e4vp040559@freefall.freebsd.org> To: freebsd-scsi@FreeBSD.org Cc: From: Bruce Evans Subject: Re: kern/15608: acd0 / cd0 give inconsistent errors on empty tray open() Reply-To: Bruce Evans Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/15608; it has been noted by GNATS. From: Bruce Evans To: "M. Warner Losh" Cc: ken@kdm.org, , , , , , Subject: Re: kern/15608: acd0 / cd0 give inconsistent errors on empty tray open() Date: Fri, 23 Aug 2002 12:41:28 +1000 (EST) On Thu, 22 Aug 2002, M. Warner Losh wrote: > In message: <20020822150931.A10866@panzer.kdm.org> > "Kenneth D. Merry" 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. 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? > 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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message