From owner-freebsd-scsi Thu Aug 22 14:23:42 2002 Delivered-To: freebsd-scsi@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4CCC737B400; Thu, 22 Aug 2002 14:23:38 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id D233143E42; Thu, 22 Aug 2002 14:23:36 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.3/8.12.3) with ESMTP id g7MLNZFl031721; Thu, 22 Aug 2002 15:23:35 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 22 Aug 2002 15:23:29 -0600 (MDT) Message-Id: <20020822.152329.129782316.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() From: "M. Warner Losh" In-Reply-To: <20020822150931.A10866@panzer.kdm.org> References: <200208221942.g7MJgMpY037865@freefall.freebsd.org> <20020822150931.A10866@panzer.kdm.org> X-Mailer: Mew version 2.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 In message: <20020822150931.A10866@panzer.kdm.org> "Kenneth D. Merry" 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